combo ve text box lar

Katılım
14 Aralık 2004
Mesajlar
170
Excel Vers. ve Dili
2000-TR
merhaba, combobox ve textbox lara girmek istenen değeri numerik yada alfanumerik olarak şartlandırabilir miyiz? örneğin; sicil no sunu soran bir textbox a giriş yaparken numerik değerleri dikkate alsın, alfanumerik değerleri almasın, bir diğer sorum da format problemi; hücrede 254,2 yazan değeri textbox a nasıl taşıyabiliriz? Textbox ta 254,200 görünmesini istiyorum. :?
 

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
sicil no sunu soran bir textbox a giriş yaparken numerik değerleri dikkate alsın, alfanumerik değerleri almasın
Textboxa aşağıdaki kodu yazın.

[vb:1:fdbd28c2d1]Private Sub TextBox1_Change()
If TextBox1 = "" Then Exit Sub
If IsNumeric(TextBox1.Value) = False Then
MsgBox "SADECE SAYISAL DEÐER GİRİNİZ"
TextBox1 = ""
Textbox1.SetFocus
End If
End Sub[/vb:1:fdbd28c2d1]

hücrede 254,2 yazan değeri textbox a nasıl taşıyabiliriz? Textbox ta 254,200 görünmesini istiyorum.
Userforma aşağıdaki kodu yazın. Burada Textbox2 ye A1 hücresindeki değer taşınmıştır.

[vb:1:fdbd28c2d1]Private Sub UserForm_Initialize()
TextBox2 = Format([a1], "##.#00")
End Sub
[/vb:1:fdbd28c2d1]
 
Katılım
14 Aralık 2004
Mesajlar
170
Excel Vers. ve Dili
2000-TR
teşekkürler leventm,
her iki soru da çözüldü. peki bir diğer textbox a alfanumerik değer girme şartını nasıl yapabiliriz? örneğin, adı soyadı bilgisini isteyen textbox a alfanumerik değerler yazılabilsin ama numerik değerler yazılmasın. :kafa:
 

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
peki bir diğer textbox a alfanumerik değer girme şartını nasıl yapabiliriz? örneğin, adı soyadı bilgisini isteyen textbox a alfanumerik değerler yazılabilsin ama numerik değerler yazılmasın.
Aşağıdaki kodu deneyin.

[vb:1:b515a913d0]Private Sub TextBox1_Change()
If TextBox1 = "" Then Exit Sub
deg = Mid(TextBox1.Value, Len(TextBox1.Value), 1)
If IsNumeric(deg) = True Then
MsgBox "SADECE HARF GİRİNİZ"
TextBox1 = Mid(TextBox1.Value, 1, Len(TextBox1.Value) - 1)
TextBox1.SetFocus
End If
End Sub
[/vb:1:b515a913d0]
 
Katılım
14 Aralık 2004
Mesajlar
170
Excel Vers. ve Dili
2000-TR
sn.leventm tamam, gayet iyi olmuş. size ekte bir çalışmamı gönderiyorum. Biraz amatörce oldu ama... İki combobox um var, sicil no sunu yazdığımda kişinin adı-soyadı, ad-soyadı yazdığımda da sicil no' sunu veriyor. Her iki sorgu da farklı sayfalara bakıyor, tek bir sayfadaki bilgilerden yararlabilir miyiz her iki sorgu için.
tekrar teşekkürler.
 

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
Ã?ncelikle Combobox1 ve Combobox2 nin properties penceresindeki rowsource özelliğine yazdığınız aralıkları silin. Daha sonrada aşağıdaki kodları ilgili nesnelere yazın. Burada tüm veriler adsoyad isimli sayfadan alınmıştır.

Userforma aşağıdaki kodu yazın.

[vb:1:76c21f8f74]Private Sub UserForm_Initialize()
For a = 1001 To 1050
ComboBox1.AddItem a
Next
ComboBox2.RowSource = "adsoyad!a1:a50"
End Sub[/vb:1:76c21f8f74]

Combobox1'e aşağıdaki kodu yazın.

[vb:1:76c21f8f74]Private Sub ComboBox1_Change()
On Error Resume Next
ComboBox2.Value = sheets("adsoyad").Cells([b1:b65536].Find(ComboBox1.Value).Row, 1)
End Sub
[/vb:1:76c21f8f74]

Combobox2'ye aşağıdaki kodu yazın.

[vb:1:76c21f8f74]Private Sub ComboBox2_Change()
On Error Resume Next
ComboBox1.Value =sheets("adsoyad").Cells([a1:a65536].Find(ComboBox2.Value).Row, 2)
End Sub
[/vb:1:76c21f8f74]
 
Katılım
14 Aralık 2004
Mesajlar
170
Excel Vers. ve Dili
2000-TR
sn.leventm, maalesef olmuyor, sicil no' sunu yazdığımda adı soyadı gelmiyor tam terside aynı şekilde. dosyanın güncellenmiş halini ekte sunuyorum. İnceleyebilirseniz sevinirim.
 
Katılım
14 Aralık 2004
Mesajlar
170
Excel Vers. ve Dili
2000-TR
selam heft,

sorunuzu tam olarak anlayamadım, VBA kodlarını mı incelemek istiyorsunuz?
 

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
Araçlar-makro-güvenlikten seviyeyi orta yapın. Sonra dosyayı açarak "makroları devre dışı bırak" seçeneğini işaretleyerek dosyayı inceleyebilirsiniz.
 
Katılım
14 Aralık 2004
Mesajlar
170
Excel Vers. ve Dili
2000-TR
sn.leventm,

"adsoyad" sayfası seçili şekilde dosyayı kaydedersek userform açıldığında sağlıklı bir şekilde çalışıyor, bir başka sayfayı seçip kaydedersek userform çalışıyor ama sicil no yada ad-soyadı yazdığımızda bilgiler gelmiyor. bir başka yolu olması gerekir diye düşünüyorum. (adsoyad sayfasını gizlemek istiyorum da -- gizlediğim zamanda bu sorun meydana geliyor)
 

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
Haklısınız, gerekli düzeltmeleri yaparak yukarıdaki eki yeniledim. Tekrar inceleyin.
 
Katılım
3 Haziran 2005
Mesajlar
371
selam ugurakın

dosyayı açtığımda direkt userform açılıyor kapat diyince komple kapanıyordu

ama son leventm nin gönderdiği öyle değil miş

evet vb kdlarını inceleyip öğrenmek istemiştim

ilgiye teşekküürr...
 
Katılım
14 Aralık 2004
Mesajlar
170
Excel Vers. ve Dili
2000-TR
sn.leventm,
aynı adı-soyadı taşıyan ama farklı sicil no' ları olan şahısları sorgulama yaparken (isimden ararken) ilk olanın sicil no' su geliyor, bir sonrakinin sicil no' su gelmiyor. ne dersiniz? :yazici:
 

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
Bu durumda isimlerin olduğu comboboxtaki kodu aşağıdaki ile değiştirin.

[vb:1:21292046d7]Private Sub ComboBox2_Change()
ComboBox1.Value = Sheets("adsoyad").Cells(ComboBox2.ListIndex + 1, 2)
End Sub
[/vb:1:21292046d7]
 
Katılım
14 Aralık 2004
Mesajlar
170
Excel Vers. ve Dili
2000-TR
sn.leventm,
aynı adı-soyadı taşıyan ama farklı sicil no' ları olan şahısları sorgulama yaparken (isimden ararken) ilk olanın sicil no' su geliyor, bir sonrakinin sicil no' su gelmiyor. ne dersiniz?
 

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
Bir üstteki mesajımda bunun cevabını vermiştim.
 
Katılım
14 Aralık 2004
Mesajlar
170
Excel Vers. ve Dili
2000-TR
özür, teşekkürler...
 
Üst