2015-01-19 16 views
6

olsa bile bir sayıdan iki basamağa biçimlendirme VBA'yı 1-24 arası bir sayıyı 2 basamaklı bir sayı olarak görüntülemek için kullanmak istiyorum. Açıkçası, bununla ilgili bir problemi olan sadece 01, 02, 03, vb. Gibi göstermek istediğim 1-9. Bunu gerçekleştirmenin bir yolu var mı?Birincisi 0 vba

cevap

9

Bir tamsayı değişkeni biçimlendiremezsiniz, biçimlendirme için bir dize değişkeni kullanmanız gerekir.

Sen baştaki sıfırlar lider sıfır gerekli

eklemek için bir "00" formatı ile Format işlevini kullanarak ardından tarihten itibaren gün sayısını ayıklamak için Day işlevini kullanarak ve bir formata bir tarihin gün bölümünü dönüştürebilirsiniz

Biçimi (Gün (myDate), "00")

myDate tam tarihi değerini

followin içeren bir tarihi değişkendir

number_item = 2 
number_item = WorksheetFunction.Text(number_item, "00") 

Bu işi yapacak: g makro Çalışma örnek böyle

Sub Macro1() 
    Dim myDate As Date 

    myDate = "2015-5-1" 

    Dim dayPart As String 

    dayPart = Format(Day(myDate), "00") 

    MsgBox dayPart 
End Sub 
+0

Bunu bir hücrede değil, kodda oluşturulan bir sayıya uygulamanız gerekir, bu aynı şekilde çalışır mı? Bunu sadece MyVar.NumberFormat = "00" olarak değiştirebilir miyim? –

+0

Bunu denedim ve Çalıştırma Zamanı Hatası '424' aldım Nesnede Gerekli Nesne MyVar.NumberFormat = "00" –

+0

Eğer bu tüm numaraya yardım ederse formatlanması gereken, bir kullanıcı formu aracılığıyla sağlanan tarihten itibaren çıkardığım bir tarihin gün kısmıdır. –

1

Yaptım olarak kullanılabilir.