SORU ve CEVAPLAR (Yazılabilir) > Microsoft Excel, Vba, Makro, Formül vb. Soruları

TextBox Yüzde Görünümü ve Hücreye Aktarma Sorunu

(1/1)

katip16487:
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.

Orion1:
Textboxa veri girmek örneği.

--- Kod: ---Private Sub TextBox1_AfterUpdate()
TextBox1.Value = VBA.FormatNumber(TextBox1.Value, 2)
End Sub

--- Kod sonu ---

textboxtan sayfaya veri atma örneği.:cool:

--- Kod: ---Private Sub CommandButton1_Click()
Range("G1").Value = CDbl(TextBox1.Value)
Range("G1").NumberFormat = "#,##0.00"
End Sub

--- Kod sonu ---

Navigasyon

[0] Mesajlar

Tam sürüme git