• DİKKAT

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

label visible sorunu

Katılım
3 Ekim 2018
Mesajlar
76
Excel Vers. ve Dili
Excel 2003-2007/2010
Merhabalar,

Userform üzerinde 100'ü aşkın label bulunmakta. userform açıldığında aşağıdaki kodla gösterimini engelliyorum.

Private Sub UserForm_Initialize()
Dim i As Integer
For i = 0 To Controls.Count - 1
If Mid(Controls(i).Name, 1, 5) = "Label" Then
Controls(i).Visible = False
End If
Next i
Label22.Visible = False
Label23.Visible = False
ok1.Visible = False
end sub

Sormak istediğim ise, if then else ile ok1 label'ını göstermek istiyorum ama aşağıdaki kodla userformda çıkmıyor.

Private Sub ok1_Change() ' --->ok1_Click() olarak denendi olmadı
If Sheets("info").Range("Bm2") = True Then 'bm2 hücresine formülle true false yazmakta
ok1.Visible = True
Else: ok1.Visible = False ' ok1 label92nin ismi ancak label92 olarakta denedim olmadı.
End If
End Sub

Bu şarta göre neden göstermediğini çözemedim.
şimdiden ilgilenip, zaman ayırdığınız için teşekkür ederim.
 
Aşağıdaki şekilde deneyin. Olmazsa örnek dosyanızı ekleyin bakalım.
Kod:
Private Sub UserForm_Initialize()
Dim i As Integer
For i = 0 To Controls.Count - 1
If Mid(Controls(i).Name, 1, 5) = "Label" and Controls(i).Name<>"Label92" then
Controls(i).Visible = False
End If
Next i
'Label22.Visible = False
'Label23.Visible = False
'ok1.Visible = False
end sub
 
Maalesef hocam, çalışmadı.
yazdığım şartlı kodda bir problem yok sanırım. problem başka bir bağlantıyla ilişkili muhtemelen.
tekrar inceleyeceğim. zaman ayırdığınız için tekrar teşekkür ederim. kolay gelsin.
 
"Label" nesnesinde "Change" event'i (olayı) olmaz ......

Bahsettiğiniz "ok1" TextBox olmasın ?

.
 
Merhaba Haluk Bey, ok1 label92 nin ismi. değiştirmek zorunda kaldım. ama tekrar aynı isimle (label92) yaptım.
halen bir sonuca ulaşabilmiş değilim. change kısmını, click yaptım olmadı. ya da başka bir sub name vermeliyim sanırım. bir de o şekilde deneyeceğim. ilginiz için teşekkürler.
 
söylemeyi unuttum, label92'ye özelliklerden resim ekledim. bundan dolayı mı oluyor problem acaba?
 
Label'ın adını değiştirmek için; "Properties" penceresinde "Name" özelliğini "ok1" olarak değiştirdiyseniz, bütün kodlarda artık "ok1" olarak kullanacaksınız.

2 No'lu mesajdaki kodda;

..... and Controls(i).Name<>"Label92" then

satırında "Label92" yerine "ok1" yazarsanız, "ok1" haricindeki bütün Label nesneleri görünmez olur.

Bu nesneye resim yükleseniz de, yüklemeseniz de fark etmez, kod aynen çalışır.

.
 
Son düzenleme:
Haluk bey, yeni baştan yaptım herşeyi. controls kodunun tamamını kaldırdım. labellar açılışta hepsi görünecek şekilde. ok1 labeli silindi. yerine label92 eklendi.
sadece şartlı kod kaldı (if then else) . excel hücresinden true false değerleri var. ama şart kodu çalışmıyor. programı çalıştırdığımda, label92 görünüyor. excel hücresindeki değer false olarak değiştiğinde ise yine görünüyor. bu demek oluyor ki, şart kodunda problem var. maalesef çözemedim. uğraşıyorum. zaman ayırıp yorum yaptığınız için teşekkür ederim.
 
Ekli dosyayı inceleyin....


.
 

Ekli dosyalar

Haluk bey, uğraşınız için çok teşekkür ederim. sorun sanırım mantıksal operatörlerdeydi. excel hücresinde formülü "True", "False" tırnak içinde hallettim, kod kısmında da If Sheets("info").Range("Bm2") = "True" ----> True'yu tırnak içinde yazdım. daha sonra bu kodu CommandButton1_Click() içine yazdım. Bu şekilde istediğim gibi oldu. sorun çözülmüştür. yardımlarınız için teşekkür ederim.
 
Herhalde kullandığınız Excel'in versiyonu Türkçe .....

Size örnek bir dosya da eklemiştim .... Beklediğiniz gibi çalışması gerekirdi ama bir yorum yapmamışınız.

Eklediğim dosyaya yorum yapmak yerine, geliştirdiğiniz yanlış bir mantıkla doğru sonuç elde etmişiniz .... neyse, sorununuz çözüldüyse önemli değil.

.
 
Haluk bey, dosyanız gayet iyi çalışıyor. denedim. dosyanız hakkında yorum yapmadığım için özür dilerim. kendi problemime odaklandığım için, ve sorunu da sizin deyiminizle yanlış mantıkla da olsa çözdüğümden dolayı yorum yapmayı unuttum. tekrar teşekkür ediyorum değerli yardımınız için. iyi akşamlar.
 
Merhaba;

O zaman, 9 No'lu mesaj ekinde yer alan örnek dosyadaki gibi; tırnak işaretlerini kullanmadan sorunu çözmeniz gerekir.

.
 
Merhaba Haluk bey,
eski yaptığımı sildim, çünkü ileriki ilermede sorun çıkabilir belki. çünkü çok fazla label var. sorun yaşarsam çok karışık olacak. sizin fikriniz daha mantıklı. hem doğru yoldan gitmiş olurum. sizin yönteminizle gayet güzel çalışıyor. tekrar teşekkür ederim ilginiz için.
 
Geri
Üst