• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

TextBox dan Hücreye sayı formatında değer aktarma

Katılım
1 Şubat 2008
Mesajlar
25
Excel Vers. ve Dili
excel 2003 türkçe
arkadaşlar mrb benim problemim UserForm da TextBox lara yazılan değerleri excel hücerelerine aktarıyorum fakat hücreleri sayıya dönüştür hatası veriyor. TextBox dan hücereye değer aktarırken direkt sayı değeri olmasını istiyrum. yardımcı olursanız sevinirim.
 
:cool:
Kod:
On Error Resume Next
Range("A1").Value = CDbl(TextBox1.Value)
 
TextBox daki değeri hücreye sayı olarak aktarma

arkadaşlar mrb benim problemim UserForm da TextBox lara yazılan değerleri excel hücerelerine aktarıyorum fakat hücreleri sayıya dönüştür hatası veriyor. TextBox dan hücereye değer aktarırken direkt sayı değeri olmasını istiyrum. yardımcı olursanız sevinirim.

textbox1.deki değeri a1 hücresine sayı olarak atmak istiyorum
 
Range("A1").Value = = Format(CDbl(TextBox1.Value), "##,##0.00")

Şeklinde deneyin...
 
Veya aşağıdaki şekilde de kullanabilirsiniz.
En sondaki 2 rakamı ondalık hane sayısını belirtir.

'Parasal biçim
TextBox1.Text = FormatCurrency(TextBox1.Text, 2)
'Numerik biçim
TextBox1.Text = FormatNumber(TextBox1.Text, 2)
'Yüzde biçimi
TextBox1.Text = FormatPercent(TextBox1.Text, 2)
'Tarih Biçimi
TextBox1.Text = FormatDateTime(TextBox1.Text, vbLongDate)
 
Range("A1").Value = CDbl(TextBox1.Value)
Cells(1, 1).NumberFormat = "#,##0.00"

şeklinde de kullanabilirsiniz...
 
Veya aşağıdaki şekilde de kullanabilirsiniz.
En sondaki 2 rakamı ondalık hane sayısını belirtir.

'Parasal biçim
TextBox1.Text = FormatCurrency(TextBox1.Text, 2)
'Numerik biçim
TextBox1.Text = FormatNumber(TextBox1.Text, 2)
'Yüzde biçimi
TextBox1.Text = FormatPercent(TextBox1.Text, 2)
'Tarih Biçimi
TextBox1.Text = FormatDateTime(TextBox1.Text, vbLongDate)


Arkadaşlar tarih formatlarını bir türlü aktaramadım. textbox da ki yazdığımı b6 hücresine tarih olarak yazması gerekiyor. yukarıdaki tarih formatını yazdığımda textbox karışıyor düzgün çalışmıyor.
 
Hücreye Sayı Olarak Yazdırmak

Sayın Orion1 hocam teşekkür ederim vermiş olduğunuz kodlar için...
 
Muharrem41

Giriş: 15/09/2016
Şehir: kocaeli
Mesaj: 0
Excel Vers. ve Dili:
türkçe 2007
Varsayılan merhaba
benim ihtiyacım olan macro örnek olarak sayısal loto gibi düşünelim.sitede örneği var
örnek elimde 1,3,15,18,35,41,60,72, ve buna benzer 40 adet rakam var ben 40 adet sayıyı kendim belirlemek istiyorum 1ile 40 arası değil40 adet sayıyı kendim belirlemek istiyorum değişik makrolarla
5li6lı8li10lu olarak yapmak istiyorum nasıl yapacağım konusunda yardımcı olursanız sevinirim şimdiden teşekür ederim
 
Nesnenin EXIT olayına yazabilirsiniz.
 
Private Sub TextBox8_Change()
On Error Resume Next
Selection.FormatPercent = "#,##0.00%"
End If
End Sub

Private Sub TextBox8_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox8.Text = Format(TextBox8.Text, "#,##0.00%")
End Sub

TextBox8'e hangi değeri yazarsam yazayım TextBox'dan çıkıldığında değeri 100 ile çarpmış olarak gösteriyor, ancak değeri excel'deki ilgili hücreye doğru olarak aktarıyor.

Örneğin, 11,25 yazdığımda TextBox'daki görünüm 1125,00 % olurken excel ilgili hücre formatını normal sayıya dönüştürerek 11,25 olarak atıyor.
Ayrıca, excel hücresini (örneğin b1) METNEÇEVİR(B1;"% #.##0,00") şeklinde yaptığımda ise 1125,00 olarak algılıyor.

Nerede hata yapıyorum..
 
Private Sub TextBox8_Change()
On Error Resume Next
Selection.FormatPercent = "#,##0.00%"
End If
End Sub

Private Sub TextBox8_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox8.Text = Format(TextBox8.Text, "#,##0.00%")
End Sub

TextBox8'e hangi değeri yazarsam yazayım TextBox'dan çıkıldığında değeri 100 ile çarpmış olarak gösteriyor, ancak değeri excel'deki ilgili hücreye doğru olarak aktarıyor.

Örneğin, 11,25 yazdığımda TextBox'daki görünüm 1125,00 % olurken excel ilgili hücre formatını normal sayıya dönüştürerek 11,25 olarak atıyor.
Ayrıca, excel hücresini (örneğin b1) METNEÇEVİR(B1;"% #.##0,00") şeklinde yaptığımda ise 1125,00 olarak algılıyor.

Nerede hata yapıyorum..
Textbox8_Exit kodunu aşağıdaki gibi değiştirirseniz, düzelir.
Private Sub TextBox8_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox8.Text = TextBox8.Text / 100
TextBox8.Text = Format(TextBox8.Text, "#,##0.00%")
End Sub
 
İlginize teşekkürler...
 
Geri
Üst