VBA Kodu ile Değişken Dönüştürme

Katılım
17 Ağustos 2004
Mesajlar
20
Excel Vers. ve Dili
Office 2003 Pro Tr, VBA, Access,
Merhaba,
Hücredeki bir sayım 0,044666176 şeklinde görülmektedir. Ben Hücre özellikleri ile bu sayıyı aslında 0,04 şeklinde gösterebiliyorum.

Yukarıdaki hücreyi VBA kodu ile okuttuğumda ise bana 4,46662E-02 verisini veriyor. Kodum aşağıdadır.

Kod:
sayı = Worksheets("Sayfa1").Range("A2").value
MsgBox(sayı)
Burada sayı değişkeninin tipini değişik değişken tiplerini denediğim halde yapamadım.

Yukarıdaki sayısı VBA kodu ile okutup MsgBox içinde vermek istediğimde 0,04 olmasını VBA kodu ile nasıl sağlayabilirim.

Teşekkürler.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
Kod:
Sub Test()
    Dim MyVal As Double
    Range("A1") = 0.044666176
    MyVal = Format(Range("A1"), "0.00")
    MsgBox MyVal
End Sub
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
Benden de bir örnek:

Sub den()
a = Range("A2")
b = Format(a, "0.00")
MsgBox b
End Sub
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Birde böyle deneyin.

[vb:1:7c0d8d8792]Sub goster()
sayı = WorksheetFunction.RoundDown(Worksheets("Sayfa1").Range("A2").Value, 2)
MsgBox sayı
End Sub
[/vb:1:7c0d8d8792]
 
Katılım
17 Ağustos 2004
Mesajlar
20
Excel Vers. ve Dili
Office 2003 Pro Tr, VBA, Access,
Değerli üstadlar,

Vermiş olduğunuz bilgilerin tümünü denedim ve oldu çooooook eşekkür ediyorum.

Aklınıza ve bilginize sağlık.
 
Katılım
17 Ağustos 2004
Mesajlar
20
Excel Vers. ve Dili
Office 2003 Pro Tr, VBA, Access,
Heyecandan Teşekkürü bile yanlış yazdım,

Sağolun
:hey:
 
Katılım
4 Ocak 2006
Mesajlar
35
Excel Vers. ve Dili
Excel 2003-Türkçe
leventm' Alıntı:
Birde böyle deneyin.

[vb:1:cade12ff52]Sub goster()
sayı = WorksheetFunction.RoundDown(Worksheets("Sayfa1").Range("A2").Value, 2)
MsgBox sayı
End Sub
[/vb:1:cade12ff52]
Range ile arama yaptım ama tanıma benzer birşey bulamadım.
Bu ve bazı kodlarda çok kulllanılan "Range" tam olarak ne işe yarar ben benim anladığım Tek bir hücre yada birkaç hücredeki bilgileri almakmıdır?
 

Kemal Demir

Özel Üye
Katılım
29 Temmuz 2004
Mesajlar
2,108
Sub formatchange()
For c = 1 To 10
Cells(c, 1).NumberFormat = "0.00"
Next
End Sub


evet fazlasıyla ornek var ama bende yollamka ıstedım umarım hukalalık olmamıstır

Yukarıdaki format değişikliği sadece 1 kolon ıcın gecerlidir(A kolonu)
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Range ile arama yaptım ama tanıma benzer birşey bulamadım.
Bu ve bazı kodlarda çok kulllanılan "Range" tam olarak ne işe yarar ben benim anladığım Tek bir hücre yada birkaç hücredeki bilgileri almakmıdır?
Range komutu bir hücrenin veya hücreler aralığının kod içinde tanımlanmasını sağlar; örneğin Range("A1"); A1 hücresini ifade ederken, Range("A1:D100"); A1:D1 arasındaki tüm hücreleri ifade edecektir.
 
Üst