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.
 

Orion1

Uzman
Uzman
Katılım
1 Mart 2005
Mesajlar
22,254
Excel Vers. ve Dili
Win7 Home Basic TR 64 Bit

Ofis-2010-TR 32 Bit
:cool:
Kod:
On Error Resume Next
Range("A1").Value = CDbl(TextBox1.Value)
 
Katılım
1 Şubat 2008
Mesajlar
25
Excel Vers. ve Dili
excel 2003 türkçe
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
 
Katılım
16 Kasım 2007
Mesajlar
700
Excel Vers. ve Dili
Office 2003 - Tr
Range("A1").Value = = Format(CDbl(TextBox1.Value), "##,##0.00")

Şeklinde deneyin...
 
Katılım
16 Kasım 2007
Mesajlar
700
Excel Vers. ve Dili
Office 2003 - Tr
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)
 
Katılım
16 Kasım 2007
Mesajlar
700
Excel Vers. ve Dili
Office 2003 - Tr
Range("A1").Value = CDbl(TextBox1.Value)
Cells(1, 1).NumberFormat = "#,##0.00"

şeklinde de kullanabilirsiniz...
 
Katılım
16 Mayıs 2007
Mesajlar
27
Excel Vers. ve Dili
ofiice 2013 tr
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.
 
Katılım
11 Aralık 2014
Mesajlar
20
Excel Vers. ve Dili
Microsoft Office 2021 64 bit Türkçe
Hücreye Sayı Olarak Yazdırmak

Sayın Orion1 hocam teşekkür ederim vermiş olduğunuz kodlar için...
 
Katılım
15 Eylül 2016
Mesajlar
39
Excel Vers. ve Dili
türkçe 2007
Altın Üyelik Bitiş Tarihi
10-07-2021
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
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,409
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Nesnenin EXIT olayına yazabilirsiniz.
 

katip16487

Altın Üye
Katılım
28 Haziran 2007
Mesajlar
168
Excel Vers. ve Dili
OFFİCE 2016 (Türkçe)
Altın Üyelik Bitiş Tarihi
17-03-2025
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..
 

muratboz06

Destek Ekibi
Destek Ekibi
Katılım
23 Mart 2017
Mesajlar
552
Excel Vers. ve Dili
Office365 TR
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
 

katip16487

Altın Üye
Katılım
28 Haziran 2007
Mesajlar
168
Excel Vers. ve Dili
OFFİCE 2016 (Türkçe)
Altın Üyelik Bitiş Tarihi
17-03-2025
İlginize teşekkürler...
 
Üst