• DİKKAT

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

label değerine göre textboxları gizleme ve aktif etme

zulfuernek

Altın Üye
Katılım
24 Haziran 2017
Mesajlar
761
Excel Vers. ve Dili
türkçe
userform üzerinde ilk açılırken labelleri ve textboxları gizli açıyor.

comboboxtan seçtiğim değere göre labbelere düşey arama ile değerlerini yazıyor.

sorum şu.
comboboxtaki değerle labellere değerler gelince eğer labelin içi doluysa o label görünür olsun ve dolu olan labelde ilgili textboxu görünür kılsın
 
Merhaba.

Sanırım diğer açtığınız konu sayfasına eklediğiniz belgedeki UserForm'dan bahsediyorsunuz.
Combobox, Label ve TextBox numaralarını belirtirseniz daha hızlı sonuca varırsınız.
Ezberden cevap yazmak yanlış/yanıltıcı olabilir.
.
 
ömer hocam aynen dediğiniz gibi dier eklediğim dosya içerisindeki dövizler kısmındaki combobox ve textboxlardan bahsediyorum.

combobox 1 de seçtiğimde karşısındaki 8 adet label doluor. tabi bazılarında 5 adet dolu olanlar olacak.

hangi label doluysa o label ve altındaki iki adet texetboxların aktif olması lazım
 
Sayfalarda forma gelecek bilgi olmadığından sanırım, bir şey anlamadım doğrusu.
 
http://dosya.co/jrm7bqvh24or/ANAKASA3.xlsm.html

HOCAM ŞİMDİ EKLEDİM ÖRNEK OLARAK SADECE BİR SIRA LABELİ AKTİF ETTİM. DİĞERLERİNEDE BİLGİ GELİYOR AMA BİLGİ GELENLERİN AKTİF OLMASI İÇİN NE YAPMALYIZ ACABA.

GELECEK BİLGİLERE AİT DÜŞEYARA BİLGİLERİ SİSTEM SHEETİN İÇERİSİNDE HOCAM
 
Bu arada; userform tasarımıyla uğraşırken özellikle gerekli olduğunu düşündüğüm bir hususu belirteyim.
VBA ekranında sol tarafta Userform adına çift tıklayın, ardından da sağda userform'a sağ tıklayıp Properties'i aktif edin.
Solda userform özelliklerinin listelendiği kısımda Showmodal kısmını False yaparsanız, userform ekranda iken de excel sayfalarında işlem yapabilirsiniz.
.
 
Tekrar merhaba.

Bu sorunuzu pek anlamadım.
Formdaki hangi combobox değiştiğinde, hangi label/textboxa hangi bilgi geliyor göremedim.

Ancak fikir olarak şunu söyleyeyim:
-- Userform Initalize kodlarında; hangi labeller için gerekiyorsa onlar için .....Caption=""
satırı ekleyin ki label'ın adı görünmesin,
-- Combobox_Change kodunda da For...Next döngüsü oluşturup,
Controls... diye nesne numarasını döngüye alın, WLookup sonucu <>"" koşuluna göre
If..End If arasında da visible/caption durumlarını true/false ayarlayın derim.

Kodlarda gördüğüm bir hususu daha belirteyim.
Örneğin aşağıdaki kod satırında, arama alanının bulunduğu sayfa adını belirtmeniz lazım.
SİSTEM sayfası aktif iken çalışıyor, başka sayfa aktif ise kod hata veriyor.
Mavi kısmı ekleyin (benzer durumdaki diğerlerine de tabi).
.
Kod:
Label93.Caption = WorksheetFunction.VLookup(ComboBox1, [B][COLOR="Blue"]Sheets("SİSTEM").[/COLOR][/B]Range("B3:J12"), 2, False)
 
aslında basit hocam ama deneme yanılma yolu.

Private Sub ComboBox2_Change()
Label184 = ComboBox2
Label101.Caption = WorksheetFunction.VLookup(ComboBox2, Range("B3:J12"), 2, 0)
Label102.Caption = WorksheetFunction.VLookup(ComboBox2, Range("B3:J12"), 3, 0)
Label103.Caption = WorksheetFunction.VLookup(ComboBox2, Range("B3:J12"), 4, 0)
Label104.Caption = WorksheetFunction.VLookup(ComboBox2, Range("B3:J12"), 5, 0)
Label105.Caption = WorksheetFunction.VLookup(ComboBox2, Range("B3:J12"), 6, 0)
Label106.Caption = WorksheetFunction.VLookup(ComboBox2, Range("B3:J12"), 7, 0)
Label107.Caption = WorksheetFunction.VLookup(ComboBox2, Range("B3:J12"), 8, 0)
Label108.Caption = WorksheetFunction.VLookup(ComboBox2, Range("B3:J12"), 9, 0)
Label101 = Format(Label101, "###,###")
Label102 = Format(Label102, "###,###")
Label103 = Format(Label103, "###,###")
Label104 = Format(Label104, "###,###")
Label105 = Format(Label105, "###,###")
Label106 = Format(Label106, "###,###")
Label107 = Format(Label107, "###,###")
Label108 = Format(Label108, "###,###")

If Len(ComboBox2) = "" Then
Label167.Visible = False
Label168.Visible = False
Label184.Visible = False
Label193.Visible = False
Else
Label167.Visible = True
Label168.Visible = True
Label184.Visible = True
Label193.Visible = True
End If


bukoda extra olarak eklemek istediğim şu

If Len (Label98) ="" Then
Textbox40.Visible=False
Textbox41.Visible=False
Else
Textbox40.Visible=True
Textbox41.Visible=True
Label98.Visible=True
End If
 
Ben Vlookup sonucuna göre durumu değiştirmek istediğinizi düşünmüştüm.

O halde;

If Len(Label98.Caption)=0 Then
.....
Else
.....
End If


şeklinde devam edin.

Bir önceki cevabımda Range öncesinde sayfa adını belirtmekle ilgili önerim önemlidir.
Onu unutmayınız.

.
 
ömer hocam range ve shhets ile ilgili önerinizi dikkate aldım ve hemen düzenleme yapyım kesimlikle. bu program için çok nbüyüj önem arz ediyordu. teşekkür ederim.

diğer koşulda sıfır yapma işlemi de tamam. textboxları aktif pasif yapıyor. fakat true kısmına labelin kendisinide yazdım ama onda etkili olmamasının sebebi ne olablir acaba ömer hocam
 
Geri
Üst