[Yardım]  Textbox "0" Sorunu

Metin Kutucuğu. Bir programcının olmazsa olmazlarındandır.

Textbox "0" Sorunu

İleti#1)  xpeker » 10 Nis 2019 22:21

Verileri excel hücrelerinden alan bir userform üzerinde çok sayıda textbox mevcut, fakat hücre değeri "0" veya "" olması halinde textboxlarda görünen "0" değeri çok fazla görüntü kirliliğine neden oluyor.
Bu kod ile "0" değerini kaybedebiliyorum;
Kod: Tümünü seç
if textbox1.text = "0" then textbox1.text=""

fakat çok sayıda textbox mevcut (150 civarı), toplu halde halledebileceğim bir kod mümkünmüdür acaba? [ilginc]
Kullanıcı avatarı
xpeker
Siteye Alışmış
 
Kayıt: 05 Oca 2015 17:41
Meslek: memur
Yaş: 38
İleti: 149
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Balıkesir

Cevap: Textbox "0" Sorunu

İleti#2)  Orion1 » 10 Nis 2019 22:29

Buyurun.:cool:
Kod: Tümünü seç
For Each txtbx In Me.Controls
    If TypeName(txtbx) = "TextBox" Then txtbx.Value = ""
Next
Kullanıcı avatarı
Orion1
Siteye Alışmış
 
Adı Soyadı:Evren Gizlen
Kayıt: 18 Tem 2008 20:51
Meslek: inşaat teknikeri
İleti: 468
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Türkiye

Cevap: Textbox "0" Sorunu

İleti#3)  xpeker » 10 Nis 2019 22:56

Sayın Orion1 teşekkür ederim, fakat UserForm_Initialize'e koyduğumda, tüm textboxların içini boşalttı maalesef [ilginc]
Kullanıcı avatarı
xpeker
Siteye Alışmış
 
Kayıt: 05 Oca 2015 17:41
Meslek: memur
Yaş: 38
İleti: 149
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Balıkesir

Cevap: Textbox "0" Sorunu

İleti#4)  AhmetRasim » 11 Nis 2019 11:12

Merhabalar;
Şu şekilde dener misiniz?
Kod: Tümünü seç
Private Sub UserForm_Initialize()
Dim x As Control
For Each x In Me.Controls
    If TypeOf x Is MSForms.TextBox And x.Text = 0 Then x.Text = Empty
Next x
End Sub
Kullanıcı avatarı
AhmetRasim
Site Dostu
 
Adı Soyadı:Ahmet Rasim
Kayıt: 20 Kas 2013 21:40
Konum: İstanbul
Meslek: Serbest
Yaş: 33
İleti: 1133
 
Cinsiyet: Bay

REKLAM
Excel Logo XML Oluşturucu
Logo Object Designer ile Uyarlama

Cevap: Textbox "0" Sorunu

İleti#5)  AhmetRasim » 11 Nis 2019 11:21

Tekrardan merhabalar;
Bir önceki mesajdaki kod hata verirse şu şekilde deneyiniz.
Kod: Tümünü seç
Private Sub UserForm_Initialize()
Dim x As Control
For Each x In Me.Controls
    If TypeOf x Is MSForms.TextBox Then
        If x.Text = 0 Then x.Text = Empty
    End If
Next x
End Sub
Kullanıcı avatarı
AhmetRasim
Site Dostu
 
Adı Soyadı:Ahmet Rasim
Kayıt: 20 Kas 2013 21:40
Konum: İstanbul
Meslek: Serbest
Yaş: 33
İleti: 1133
 
Cinsiyet: Bay

Cevap: Cevap: Textbox "0" Sorunu

İleti#6)  Orion1 » 11 Nis 2019 12:24

xpeker yazdı:Sayın Orion1 teşekkür ederim, fakat UserForm_Initialize'e koyduğumda, tüm textboxların içini boşalttı maalesef [ilginc]

Buyurun.:cool:
Kod: Tümünü seç
Private Sub UserForm_Initialize()
For Each txtbx In Me.Controls
    If TypeName(txtbx) = "TextBox" And txtbx.Value = "0" Then
            txtbx.Value = ""
    End If
Next
End Sub
Kullanıcı avatarı
Orion1
Siteye Alışmış
 
Adı Soyadı:Evren Gizlen
Kayıt: 18 Tem 2008 20:51
Meslek: inşaat teknikeri
İleti: 468
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Türkiye

REKLAM
ETA - Excel Konsolide Raporlama
ETA Excel Personel Entegre Raporu

Cevap: Textbox "0" Sorunu

İleti#7)  xpeker » 12 Nis 2019 21:22

Sayın AhmetRasim; her iki kod hata vermedi ama durumu da değiştirmedi.
Sayın Orion kod method hatası verdi.
Kullanıcı avatarı
xpeker
Siteye Alışmış
 
Kayıt: 05 Oca 2015 17:41
Meslek: memur
Yaş: 38
İleti: 149
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Balıkesir

Cevap: Textbox "0" Sorunu

İleti#8)  Orion1 » 12 Nis 2019 23:05

Bende sorunsuz çalışıyor.:cool:
Kullanıcı avatarı
Orion1
Siteye Alışmış
 
Adı Soyadı:Evren Gizlen
Kayıt: 18 Tem 2008 20:51
Meslek: inşaat teknikeri
İleti: 468
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Türkiye

Cevap: Textbox "0" Sorunu

İleti#9)  Orion1 » 12 Nis 2019 23:16

Birde bunu deneyin bakalım.:cool:
Kod: Tümünü seç
For Each txtbx In Me.Controls
    If TypeName(txtbx) = "TextBox" And txtbx.Text = "0" Then
            txtbx.Text = ""
    End If
Next
Kullanıcı avatarı
Orion1
Siteye Alışmış
 
Adı Soyadı:Evren Gizlen
Kayıt: 18 Tem 2008 20:51
Meslek: inşaat teknikeri
İleti: 468
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Türkiye

Cevap: Textbox "0" Sorunu

İleti#10)  AhmetRasim » 13 Nis 2019 00:38

Merhabalar;
Kodları denedim. 0 değeri olan TextBox'ların içeriğini temizliyor.
Çalışma dosyanızın örneğini paylaşmanız mümkün mü?
Kullanıcı avatarı
AhmetRasim
Site Dostu
 
Adı Soyadı:Ahmet Rasim
Kayıt: 20 Kas 2013 21:40
Konum: İstanbul
Meslek: Serbest
Yaş: 33
İleti: 1133
 
Cinsiyet: Bay

Cevap: Cevap: Textbox "0" Sorunu

İleti#11)  Orion1 » 13 Nis 2019 13:29

AhmetRasim yazdı:Merhabalar;
Kodları denedim. 0 değeri olan TextBox'ların içeriğini temizliyor.
Çalışma dosyanızın örneğini paylaşmanız mümkün mü?

Zaten 0 değeri olan textboxları temizleyecek.
Soru öyle idi.:cool:
Kullanıcı avatarı
Orion1
Siteye Alışmış
 
Adı Soyadı:Evren Gizlen
Kayıt: 18 Tem 2008 20:51
Meslek: inşaat teknikeri
İleti: 468
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Türkiye

Cevap: Textbox "0" Sorunu

İleti#12)  AhmetRasim » 13 Nis 2019 17:06

Merhabalar Sn. Evren,
Evet soru gereği paylaşılan kodlar çalışıyor.
Sn. xpeker kodların sonuç vermediğini söylediği için örnek dosya paylaşabilir mi diye sormuştum.
Kullanıcı avatarı
AhmetRasim
Site Dostu
 
Adı Soyadı:Ahmet Rasim
Kayıt: 20 Kas 2013 21:40
Konum: İstanbul
Meslek: Serbest
Yaş: 33
İleti: 1133
 
Cinsiyet: Bay

Cevap: Cevap: Textbox "0" Sorunu

İleti#13)  xpeker » 14 Nis 2019 00:36

Evren Bey ve Ahmet bey teşekkür ederim ilginiz için, Evren bey'in kodlarında "Hata438-Property Method" uyarısı aldım maalesef;
Ahmet Bey'in aşağıdaki kodlarını,textbox kodlarından sonraya koyunca istediğim gibi oldu şkşk

AhmetRasim yazdı:Tekrardan merhabalar;
Bir önceki mesajdaki kod hata verirse şu şekilde deneyiniz.
Kod: Tümünü seç
Private Sub UserForm_Initialize()
Dim x As Control
For Each x In Me.Controls
    If TypeOf x Is MSForms.TextBox Then
        If x.Text = 0 Then x.Text = Empty
    End If
Next x
End Sub
Kullanıcı avatarı
xpeker
Siteye Alışmış
 
Kayıt: 05 Oca 2015 17:41
Meslek: memur
Yaş: 38
İleti: 149
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Balıkesir

Cevap: Cevap: Cevap: Textbox "0" Sorunu

İleti#14)  Orion1 » 14 Nis 2019 19:01

xpeker yazdı:Evren Bey ve Ahmet bey teşekkür ederim ilginiz için, Evren bey'in kodlarında "Hata438-Property Method" uyarısı aldım maalesef;

Kod: Tümünü seç
For Each txtbx In Me.Controls
    If TypeName(txtbx) = "TextBox" And txtbx.Value = "0" Then
            txtbx.Value = ""
    End If
Next


Ekli dosyada sorunsuz çalışıyor.:cool:
Bu iletideki ekleri görmek için gerekli yetkilere sahip değilsiniz.
Kullanıcı avatarı
Orion1
Siteye Alışmış
 
Adı Soyadı:Evren Gizlen
Kayıt: 18 Tem 2008 20:51
Meslek: inşaat teknikeri
İleti: 468
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Türkiye

Cevap: Textbox "0" Sorunu

İleti#15)  xpeker » 14 Nis 2019 22:48

Evren bey sorunu çözmüş olmakla birlikte, sanırım benim userform kodlamam çok karışık olduğundan bilmediğim bir yerde hata alıyorum,kendi formumdaki UserForm_Initialize olayımın başlangıcını sizin dosyanıza uyarladığımda, evet kod çalışıyor --)(

Kod: Tümünü seç
Private Declare PtrSafe Function GetWindowLongA Lib "User32" _
(ByVal hwnd As LongPtr, ByVal nIndex As LongPtr) As LongPtr

Private Declare PtrSafe Function SetWindowLongA Lib "User32" _
(ByVal hwnd As LongPtr, ByVal nIndex As LongPtr, _
ByVal dwNewLong As LongPtr) As LongPtr

Private Declare PtrSafe Function FindWindowA Lib "User32" _
(ByVal lpClassName As String, ByVal lpWindowName As String) As LongPtr

Private Sub UserForm_Initialize()
Dim hwnd As LongPtr
hwnd = FindWindowA("Thunder" & IIf(Application.Version Like "8*", _
"X", "D") & "Frame", Me.Caption)
SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) And &HFFF7FFFF
TextBox1.Value = Sayfa1.Range("A1").Value
TextBox2.Value = Sayfa1.Range("A2").Value
TextBox3.Value = Sayfa1.Range("A3").Value
TextBox4.Value = Sayfa1.Range("A4").Value
TextBox5.Value = Sayfa1.Range("A5").Value
TextBox6.Value = Sayfa1.Range("A6").Value
For Each txtbx In Me.Controls
    If TypeName(txtbx) = "TextBox" And txtbx.Value = "0" Then
            txtbx.Value = ""
    End If
Next
End Sub
Kullanıcı avatarı
xpeker
Siteye Alışmış
 
Kayıt: 05 Oca 2015 17:41
Meslek: memur
Yaş: 38
İleti: 149
 
Cinsiyet: Bay
Bulunduğunuz İl / Semt: Balıkesir


Forum TextBox

Online Kullanıcılar

Bu forumu görüntüleyenler: Kayıtlı kullanıcı yok ve 1 misafir

Bumerang - Yazarkafe