• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

Userformda Koşullu biçimlendirme

Katılım
13 Mart 2006
Mesajlar
53
Userform da bilgileri girdiğimde koşullu biçimnlendrime yapmak istiyorum. Örneğin textbox a 20 değerini girdiğimde eğer sıfırdan büyük ise kırmızı, sıfıra eşit ise siyah renk almasını istiyorum. Yardımcı olur musunuz?

Ya da hücredeki rengin aynısını textbox da da görebilir miyiz?
 

Ekli dosyalar

Userform da bilgileri girdiğimde koşullu biçimnlendrime yapmak istiyorum. Örneğin textbox a 20 değerini girdiğimde eğer sıfırdan büyük ise kırmızı, sıfıra eşit ise siyah renk almasını istiyorum. Yardımcı olur musunuz?

Ya da hücredeki rengin aynısını textbox da da görebilir miyiz?

merhaba
Kod:
Private Sub TextBox1_Change()
If TextBox1 = "" Then
TextBox1.BackColor = &H80000005
TextBox1.ForeColor = &H80000008
ElseIf TextBox1 = 0 Then
TextBox1.BackColor = &H80000007
TextBox1.ForeColor = &H80000004
ElseIf TextBox1 > 0 Then
TextBox1.BackColor = &HFF&
TextBox1.ForeColor = &H80000004
End If
End Sub
bu kod işinizi görür mü acaba
textbox numarasını siz ayarlayınız. ben boş dosyada denedim.
 
sıfır girince tespit edilemedi mi yazsın başka ne olacak yani sıfır gözüksün mü_?
 
sorunuzu değiştirmişsiniz
ama olsun
eğer tespit edilmedi yazsın sonra textbox boş görünsün derseniz
Kod:
Private Sub TextBox1_Change()
If TextBox1 = "" Then
TextBox1.BackColor = &H80000005
TextBox1.ForeColor = &H80000008
ElseIf TextBox1 = 0 Then
MsgBox "Tespit Edilemedi." & vbLf & "Dikkat ( x ) Kapatmıyor", vbCritical, "UYARI"
Me.TextBox1.SetFocus
TextBox1 = ""
ElseIf TextBox1 > 0 Then
TextBox1.BackColor = &HFF&
TextBox1.ForeColor = &H80000004
End If
End Sub
bu kod işinizi görür
yok sıfır görünsün derseniz
Kod:
Private Sub TextBox1_Change()
If TextBox1 = "" Then
TextBox1.BackColor = &H80000005
TextBox1.ForeColor = &H80000008
ElseIf TextBox1 = 0 Then
MsgBox "Tespit Edilemedi." & vbLf & "Dikkat ( x ) Kapatmıyor", vbCritical, "UYARI"
Me.TextBox1.SetFocus
ElseIf TextBox1 > 0 Then
TextBox1.BackColor = &HFF&
TextBox1.ForeColor = &H80000004
End If
End Sub
bu kod işinizi görür
 
Aslında ilk yazdığınız kod işimi gördü. Kısaca o değerini girince Text de de excelde de "tespit edilmedi" yazısını görmekti. Kod işime yaradı. Ama listbox dan veriyi çağırınca ""tespit edilmedi" yazısı kırmızı renkli görünüyor. Bunu nasıl engellerim? Bunu halledemedim. Yardımların için çok teşekkür ederim.
 
Aslında ilk yazdığınız kod işimi gördü. Kısaca o değerini girince Text de de excelde de "tespit edilmedi" yazısını görmekti. Kod işime yaradı. Ama listbox dan veriyi çağırınca ""tespit edilmedi" yazısı kırmızı renkli görünüyor. Bunu nasıl engellerim? Bunu halledemedim. Yardımların için çok teşekkür ederim.

merhaba
Kod:
Private Sub TextBox136_Change()
If TextBox136 = "" Then
TextBox136.BackColor = &H80000005
TextBox136.ForeColor = &H80000008
ElseIf TextBox136 = 0 Then
MsgBox "Tespit Edilemedi." & vbLf & "Dikkat ( x ) Kapatmıyor", vbCritical, "UYARI"
Me.TextBox136.SetFocus
ElseIf TextBox136 > 0 Then
TextBox136.BackColor = &HFF&
TextBox136.ForeColor = &H80000004
End If
End Sub
bu kodu deneyin
devamlı farklı verileri seçtiğinizde doğru onu yapıyor çünkü 0'dan büyük veriler seçim'in içine giriyor önce textboxları boşaltmanız gerekmekte sonra diğer veriyi seçerseniz farkedersiniz
 
Galiba ben baştan beri yanlış anlattım. Numune sonuçlarının çoğu 0 (sıfır). Ama ben sonucun sıfır değil de "tespit edilmedi" şeklinde yazılmasını istiyorum. Yani ben 0 (sıfır) yazdığımda "tespit edilmedi"şeklinde kaydedecek. Numune sonuçlarının üst sınırları var. Mesela Kadmiyumun üst sınırı 25 mikrogram. Ben sıfır yazınca "tespit edilmedi" yazacak (zemin beyaz font siyah), 0-25 arasında yazılan değer yine beyaz zemin üzerine siyah font yazacak,ancak 25 üzerindeki değerlerde zemin beyaz font kırmızı olacak. Bunun gibi diğer sonuçlarda farklı üst değerler içeriyor. Hepsini ayrı ayrı yazmam gerekiyor. Ben değerleri birşekilde yazdırıyorum. Ama kaydetip listboxtan tıkladığımda nedense "tespit edilemedi" yazıları kırmızı font ile yazılıyor. Bunun için bir kod yazabilirsen çok sevinirim.
 
Galiba ben baştan beri yanlış anlattım. Numune sonuçlarının çoğu 0 (sıfır). Ama ben sonucun sıfır değil de "tespit edilmedi" şeklinde yazılmasını istiyorum. Yani ben 0 (sıfır) yazdığımda "tespit edilmedi"şeklinde kaydedecek. Numune sonuçlarının üst sınırları var. Mesela Kadmiyumun üst sınırı 25 mikrogram. Ben sıfır yazınca "tespit edilmedi" yazacak (zemin beyaz font siyah), 0-25 arasında yazılan değer yine beyaz zemin üzerine siyah font yazacak,ancak 25 üzerindeki değerlerde zemin beyaz font kırmızı olacak. Bunun gibi diğer sonuçlarda farklı üst değerler içeriyor. Hepsini ayrı ayrı yazmam gerekiyor. Ben değerleri birşekilde yazdırıyorum. Ama kaydetip listboxtan tıkladığımda nedense "tespit edilemedi" yazıları kırmızı font ile yazılıyor. Bunun için bir kod yazabilirsen çok sevinirim.

bunu dener misiniz
Kod:
Private Sub TextBox136_Change()
If TextBox136 = "" Then
TextBox136.BackColor = &H80000005
TextBox136.ForeColor = &H80000008
ElseIf TextBox136 = 0 Then
TextBox136 = "Tespit Edilemedi"
TextBox136.BackColor = &H8000000E
TextBox136.ForeColor = &H80000012
ElseIf TextBox136 > 1 And TextBox136 < 25 Then
TextBox136.BackColor = &H8000000E
TextBox136.ForeColor = &H80000012
ElseIf TextBox136 > 25 Then
TextBox136.BackColor = &HFF&
TextBox136.ForeColor = &H80000004
End If
End Sub
umarım bu işinizi görür.
25'in yukarısında iken kırmızı zemin beyaz font
0 ise tespit edilmedi
1 ile 25 arasında bir rakam verirseniz
beyaz zemin siyah font olacak
 
Çok teşekkür ederim. Yazarken kod çalışıyor. Fakat kaydetip tekrar userformu açtığımda listboxdan veri çağırdığımda tespit edilmedi yazısı kırmızı geliyor. Bunu engelleyemiyorum.Bu yazdığım diğer kodlardan mı kaynaklanıyor acaba...
 
Çok teşekkür ederim. Yazarken kod çalışıyor. Fakat kaydetip tekrar userformu açtığımda listboxdan veri çağırdığımda tespit edilmedi yazısı kırmızı geliyor. Bunu engelleyemiyorum.Bu yazdığım diğer kodlardan mı kaynaklanıyor acaba...

bendeki dosyada problem yok normal çalışıyor
 
Geri
Üst