Excel Vba Forum - Excelce.Net

SORU ve CEVAPLAR (Yazılabilir) => Microsoft Excel, Vba, Makro, Formül vb. Soruları => Konuyu başlatan: katip16487 - 05 Ekim 2018, 16:12:37

Başlık: TextBox Yüzde Görünümü ve Hücreye Aktarma Sorunu
Gönderen: katip16487 - 05 Ekim 2018, 16:12:37
Private Sub UserForm_Initialize()
Set s1 = Sheets("alfabe")
TextBox1.Text = s1.Range("B2").Value
TextBox2.Text = s1.Range("B3").Value
End Sub

Çok sayıda TextBox içeren bi UserForm'um bulunmakta ve bu formda yer alan TextBox'lara ondalıklı sayısal değer veya yüzde içeren veriler girilmektedir.

Veriler TextBox'a girilip çıkıldığında ilgili Excel hücresine otomatik olarak verilerin aktarılması sağlanmaktadır.

A) RAKAM OLARAK AKTARMA HATASI
1) TextBox'a veri girişi yapıp çıktığımda yazılan sayısal ifadeyi ondalık ayracı olmadan göstermektedir. (Örnek 1234,5)
Ben TextBox görümünün binlik ayracı (.) ve ondalık ayracı (,) olacak şekilde olmasını ve ayrıca ondalık sayı hanesinin 2 olmasını sağlamak istiyorum, ancak bu durumu yazdığım kod ile bir türlü sağlayamamaktayım. (Örnek 1.234,50) veya (1.234,50 TL)

2) Bu şekilde yaptığım veri girişlerini Excel sayfasına "Metin Olarak Saklanan Sayı" şeklinde aktarmaktadır ve bu durum da Excel'in hesap yapmasına engel olmakta ve matematiksel işlemlerde hata oluşturmaktadır.

*** Bu hatanın giderilmesi için, yani TextBox görüntüsünün (1234,5) yerine (1.234,50) olmasını; Excel ilgili hücreye matematiksel hesapta hata olmaması açısından rakam olarak aktarmasını sağlamak için yukarıda yazılı koda ne şekilde eklemem yapmam gerektiği hususunda bilginizi talep ediyorum.

B) YÜZDE OLARAK AKTARMA HATASI
1) TextBox'a veri girişi yapıp çıktığımda yazılan yüzdelik ifadeyi yazıldığı rakam şeklinde göstermektedir.  (Örnek 12)
Ben TextBox görümünün ondalık ayracı (,) olacak şekilde olmasını ve ayrıca ondalık sayı hanesinin 2 veya zaman zaman 3 olmasını sağlamam gerekmekte, ancak bu durumu yazdığım kod ile bir türlü sağlayamamaktayım. (Örnek 12,50 % veya 6,831 %)

2) Bu şekilde yaptığım veri girişlerini (örnek 12) Excel sayfasına (1200,00 %) şeklinde aktarmaktadır. Bu durum ise verinin 100 kat fazlası bir sonuca ulaşmasına ve matematiksel olarak hata oluşmasına neden olmaktadır.

*** Bu nedenle TextBox'a 12 şeklinde yazıldığında görüntünün (12,00 %); 1,5 yazıldığında görüntünün (1,50 %) şeklinde olmasını ve ayrıca Excel ilgili hücrenin (1200,00 %) şeklinde değil, (12,00 %) şeklinde aktarmasını ve matematiksel hesabın bu şekilde yapılmasını istiyorum.

Biraz uzun oldu ama kusuruma bakmayın.

Şimdiden teşekkürler. Kolaylıklar dilerim. Yardımınızı bekliyorum.
Başlık: Ynt: TextBox Yüzde Görünümü ve Hücreye Aktarma Sorunu
Gönderen: Orion1 - 12 Ekim 2018, 23:50:02
Textboxa veri girmek örneği.
Kod: [Seç]
Private Sub TextBox1_AfterUpdate()
TextBox1.Value = VBA.FormatNumber(TextBox1.Value, 2)
End Sub

textboxtan sayfaya veri atma örneği.:cool:
Kod: [Seç]
Private Sub CommandButton1_Click()
Range("G1").Value = CDbl(TextBox1.Value)
Range("G1").NumberFormat = "#,##0.00"
End Sub