• DİKKAT

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

Userfom adını değişkene alma ve nesnelere müdahale etme

Katılım
26 Mayıs 2005
Mesajlar
609
Excel Vers. ve Dili
Office 2022 - Türkçe
Herkese iyi akşamlar. Aşağıdaki kodda userform adını değişkene alıyorum ama değişkene aldığım userformun üzerindeki nesnelere müdahale edemiyorum. Run-time error '438' object doesn't support this property or method hatası veriyor.

Kod:
Sub YetkiKontrol()
Set Sh = Sheets("Kullanici_Ytk_Tnt")
Set Form = Sheets("Kullanici_Ytk_Tnt").Range("J1") 'UserForm Adını burda değişkene yazıyorum
Son = Sh.Cells(65536, 3).End(xlUp).Row
      For i = 2 To Son
          If Sh.Cells(i, 2) = Sheets("Kullanici_Tnt").Range("F1") And Sh.Cells(i, 3) = Form Then
                Cmd_Yeni = Sh.Cells(i, 4).Value
                Cmd_Yazdır = Sh.Cells(i, 5).Value
                Cmd_Bul = Sh.Cells(i, 6).Value
                Cmd_Sil = Sh.Cells(i, 7).Value
                Cmd_Kayıt = Sh.Cells(i, 8).Value
                Cmd_Degistir = Sh.Cells(i, 9).Value
          End If
      Next i
If Cmd_Yeni = True Then
   'YETKİ VAR İSE BUTONU GİZLEMİYORUM
Else
    Form.Cmd_Yeni.Visible = False 'burada hata mesajı alıyorum
End If
End Sub
 
merhaba
örnek dosya ile sorsaydınız daha net cevap alabilirsiniz.
bunu deneyiniz.
Form.Cmd_Yeni.Visible = False yerine Cmd_Yeni.Visible = False
 
sayın uzmanamele örnek dosyanın boyu büyük olduğundan eklemedim daha detaylı anlatmak gerekirse userform adını sayfaya yazıyorum ordan form adını değişkene alıyorum form isimleri çok olduğu için her birine ayrı kod yazmamak içim böye bir yol düşündüm Form.Cmd_Yeni.Visible = False buradaki Form. değişken yani ismi sürekli değişiyor

örnek dosyayı ekledim
 

Ekli dosyalar

Son düzenleme:
Sayın programer,

Dosyanızı incelemedim ama, formun kendisini değişkene atamak için aşağıdaki satırı kodlarınıza eklemeniz lazım.

Sub YetkiKontrol()
Dim Form as Object
Set Sh = Sheets("Kullanici_Ytk_Tnt")
Set Form = Sheets("Kullanici_Ytk_Tnt").Range("J1") 'UserForm Adını burda değişkene yazıyorum
Son = Sh.Cells(65536, 3).End(xlUp).Row
For i = 2 To Son
If Sh.Cells(i, 2) = Sheets("Kullanici_Tnt").Range("F1") And Sh.Cells(i, 3) = Form Then
Cmd_Yeni = Sh.Cells(i, 4).Value
Cmd_Yazdır = Sh.Cells(i, 5).Value
Cmd_Bul = Sh.Cells(i, 6).Value
Cmd_Sil = Sh.Cells(i, 7).Value
Cmd_Kayıt = Sh.Cells(i, 8).Value
Cmd_Degistir = Sh.Cells(i, 9).Value
End If
Next i
If Cmd_Yeni = True Then
'YETKİ VAR İSE BUTONU GİZLEMİYORUM
Else
Form.Cmd_Yeni.Visible = False 'burada hata mesajı alıyorum
End If
End Sub
 
Sayın Şaban Sertkaya yardımınız için teşekkür ederim. Form.Cmd_Yeni.Visible = False 'burada hata mesajı alıyorum. Form değişkenine uzerformun adını alıyorum bu değişkene aldığım formun üzerindeki butonları koşula göre gizlemek yada göstermek istiyorum sorun burda değişkene aldığım userforma müdahale edemiyorum.
 
Herkese iyi akşamlar form adını değişkene alabiliyoruz ama aldığımız formun üzerindeki nesnelere nasıl müdahale edbiliriz yada bunun başkabir yöntemi varmıdır
 
Geri
Üst