• DİKKAT

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

Metine Göre Bir Userform u Açmak, Kontrol etmek

Katılım
5 Ocak 2009
Mesajlar
1,586
Excel Vers. ve Dili
2003 Türkçe
Selam,
1'den fazla Userfrom'larım var.
bir metinde "UserForm1" yazıyor ise, ismi yazan form açmak istiyorum veya açık olan o formun içindeki nesneleri kontrol etmek istiyorum. Nasıl yapabilirim?

mesela;
Kod:
Private Sub CommandButton1_Click()
UserForm2.Show
End Sub
şeklindeki kodu
Kod:
Private Sub CommandButton1_Click()
adı= "UserForm2"
adı.Show
End Sub

gibi uyarlamak istiyorum.
 
Merhaba.
Aşağıdaki şekilde mi?

Kod:
 Private Sub CommandButton1_Click()
Set adı = UserForm1
adı.Show
End Sub

veya "metin içerisinde aranıp bulunacak ve açılacak" şeklinde mi?
 
Merhaba.
Aşağıdaki şekilde mi?

Kod:
 Private Sub CommandButton1_Click()
Set adı = UserForm1
adı.Show
End Sub

veya "metin içerisinde aranıp bulunacak ve açılacak" şeklinde mi?

Selam,
İlginize çok teşekkür ederim. Ancak, 2.dediğiniz gibi olursa işimi görecek. Yani, "metin içerisinde aranıp bulunacak ve açılacak" şeklinde.
İyi çalışmalar.
 
Örnek dosya eklerseniz "ara, bul" bulunan "form" adı

Selam,
Bir dosya ekledim. bunun üzerinden sorumu sorayım;

Sayfa1'in B1 hücresine tıkladığımda A1'de adı yazan form Açılsın.
dosyada 3 tane örnek userform var. Ancak bunların sayısını fazla ve isimlerini farklı olduklarını düşünelim.

İyi çalışmalar.
 

Ekli dosyalar

Örneğinize göre:

Kod:
 Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target = Sheets("Sayfa1").Range("B1") Then
ad = Range("a1")
VBA.UserForms.Add(ad).Show
End If
End Sub


Arayıp bularak açan örnek de işinize yararsa ek dosya yı inceleyin.
("Araçlar/makro/güvenlik/Güvenilen yayımcılar/Visual project erişiminine güven" işaretli olmalı)
 

Ekli dosyalar

Selam,
Sayın Husgvarna, çok teşekkür ederim. Emeğinize sağlık. Aşağıdaki verdiğiniz kod işimi görüyor.
Kod:
 Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target = Sheets("Sayfa1").Range("B1") Then
ad = Range("a1")
VBA.UserForms.Add(ad).Show
End If
End Sub
Bir şey sorayım;
Neden Add anlayamadım? bir de benim kod sayfamda VBA.Userforms. yazdıktan sonra Add çıkmıyor. VBA yardım menüsünde de bulamadım. Add ve benzeri özellikleri öğrenmek istemiştim.

Ayrıca,sayenizde ekli dosyanızda bulunan VBA.VBProject.VBComponents kodunu da biraz öğrenmiş oldum, teşekkür ederim.

İyi çalışmalar.
 
Neden Add anlayamadım? bir de benim kod sayfamda VBA.Userforms. yazdıktan sonra Add çıkmıyor. VBA yardım menüsünde de bulamadım.


"VBA.UserForms.Add"
Tam bir bilgim yok ama sanırım bu özellik "Microsoft Excel 98 Macintosh" tan kalma olduğu içindir.
http://support.microsoft.com/kb/182411/tr
Bu adreste'ki makaleden de sizinde anlayacağınız gibi "Yarının bir garantisi yok" ama "bugünün; dün'ün devamı olacağı garanti"
 
Son düzenleme:
"VBA.UserForms.Add"
Tam bir bilgim yok ama sanırım bu özellik "Microsoft Excel 98 Macintosh" tan kalma olduğu içindir.
http://support.microsoft.com/kb/182411/tr
Bu adreste'ki makaleden de sizinde anlayacağınız gibi "Yarının bir garantisi yok" ama "bugünün; dün'ün devamı olacağı garanti"
Selam,
Sayın Husgvarna, çok teşekkür ederim. İyi çalışmalar.
 
Geri
Üst