1 sayfadan 1. sayfa

Sayfadaki Butonun Pasif Yapılması Hk.

İletiTarih: 22 Arl 2014 20:30
muratvural
Arkadaşlar Merhaba,

Userform'da değilde sayfa üzerine eklediğimiz butonların pasif yapılmasını nasıl sağlarım?

Cevap: Sayfadaki butonun pasif yapılması hakk.

İletiTarih: 22 Arl 2014 20:56
Ali ÖZ
Merhaba,
Bu kodu kullanabilirsiniz.

Kod: Tümünü seç
Sheets("Sayfa1").CommandButton2.Enabled = False

Cevap: Sayfadaki Butonun Pasif Yapılması Hk.

İletiTarih: 22 Arl 2014 22:09
muratvural
Ali Bey teşekkür ederim.

Eklediğiniz örnek benim için yeterli. Ancak merak ettiğimden soruyorum. Aynı yerden Form Denetimleri bölümünden eklenebilen bir buton da var.

Aşağıdaki şekilde butonun üzerindeki yazıyı değiştirebiliyorum.

Kod: Tümünü seç
Sheets("Sayfa1").Buttons("Düğme 1").Caption = "Deneme"

Ancak aynı mantıkla Enabled=False çalışmıyor. Form denetimlerinde böyle bir özellik yok mudur?
Kod: Tümünü seç
Sheets("Sayfa1").Buttons("Düğme 1").Enabled = False

Cevap: Sayfadaki Butonun Pasif Yapılması Hk.

İletiTarih: 23 Arl 2014 09:38
Ali ÖZ
Merhaba,
Sayfada bulunan butonun false özelliği olmadığından commandbutton gibi pasif hale getirilemiyor.Ancak küçük bir aldatmaca yapılabilir :)

Kod: Tümünü seç
Sub pasif()
Set b1 = ActiveSheet.Buttons("Button 5")
  b1.Enabled = False
b1.Font.ColorIndex = 15
End sub

Cevap: Sayfadaki Butonun Pasif Yapılması Hk.

İletiTarih: 24 Arl 2014 12:23
Tarkan VURAL
Ali Bey' in yöntemine alternatif ilave olarak, çalışan makroyu da ortadan kaldırabilirsiniz. Ancak Enabled özelliği için ActiveX denetimi kullanmanızı öneririm.


Kod: Tümünü seç
Sub Pasif()
For 
Each bul In Sayfa1.Shapes
If bul.OLEFormat.Object.Name Like "Button*" Then
bul
.OLEFormat.Object.Font.ColorIndex 15
bul
.OnAction "Kitap1!BosMakro"
End If
Next
End Sub
 
Sub Aktif
()
For 
Each bul In Sayfa1.Shapes
If bul.OLEFormat.Object.Name Like "Button*" Then
bul
.OLEFormat.Object.Font.ColorIndex 1
bul
.OnAction "Kitap1!Düğme1_Tıklat"
End If
Next
End Sub
 
Sub Düğme1_Tıklat
()
MsgBox "Makro çalıştı"vbInformation"Www.ExcelVBA.Net"
End Sub

Sub BosMakro
()
MsgBox "Burada çalışacak bir makro yok"vbInformation"Www.ExcelVBA.Net"
End Sub

Cevap: Sayfadaki Butonun Pasif Yapılması Hk.

İletiTarih: 25 Arl 2014 00:03
muratvural
Örnekleriniz için teşekkür ederim.

Tarkan Bey,
Sayfa üzerine eklenen her nesne (Shapes vs.) OLEFormat.Object elemanı mıdır?

Cevap: Sayfadaki Butonun Pasif Yapılması Hk.

İletiTarih: 25 Arl 2014 00:13
Tarkan VURAL
muratvural yazdı:Sayfa üzerine eklenen her nesne (Shapes vs.) OLEFormat.Object elemanı mıdır?

O yüzden Button mu şeklinde bir denetim yaptım. Aslen nesne adından gitmek daha doğru. Başka nesneleriniz de olabilir. ;)

Cevap: Sayfadaki Butonun Pasif Yapılması Hk.

İletiTarih: 14 Oca 2021 12:21
Levent145
Merhaba herkese
Biraz uğraştım ama kodda hata alıyorum .
kullancı adi userformu : Form.ComboBox1 den alınıyor

Form userformunun comboBox1 de kayıtlı plan kullanıcı adı eğer KONTROL sayfasının P2:p aralığında varsa eğer tüm commandbutonları aktif et eğer kullanıcı adı uyuşmuyorsa belirtilen commandButonları sadece aktif et

Not tüm commandabutonlar ya CommanButton diye ya da başları MY olarak başlıyor ortak yanı bu.
Yardımcı olabilecek varsa çok sevinirim.
Kod: Tümünü seç
     If Worksheets("KONTROL")("P2:P") = Form.ComboBox1.Value Then

        For i = 1 To Me.Controls.Count

            If Left(Me.Controls(i).Name, 13) = "CommandButton" Or Left(Me.Controls(i).Name, 2) = "MY" Then

                Me.Controls(i).Enabled = True

            End If
        Next

Cevap: Sayfadaki Butonun Pasif Yapılması Hk.

İletiTarih: 14 Oca 2021 13:56
Miraç CAN
Tümünü Aktif veya Pasif yapar, deneyin:
Kod: Tümünü seç
Dim Ctrl As Object, Enbld As Boolean
If IsError(Application.VLookup(Form.ComboBox1.Value, Worksheets("KONTROL")("P:P"), 1, 0)) Then Enbld = False Else Enbld = True
For Each Ctrl In Me.Controls
    If TypeName(Ctrl) = "CommandButton" Then Ctrl.Enabled = Enbld
Next
Set Ctrl = Nothing

Cevap: Sayfadaki Butonun Pasif Yapılması Hk.

İletiTarih: 14 Oca 2021 18:26
Levent145
Miraç Hocam kod çalışmadı malesef
Kod: Tümünü seç
If IsError(Application.VLookup(Form.ComboBox1.Value, Worksheets("KONTROL")("P:P"), 1, 0)) Then
bu kısımda object hatası verdi
Excel sayfası ilk açıldığında form adlı userform açılıyor combobox1de kullanıcı adı seçiliyor.
şifre giriliyor doğru ise Giriş userformu açılıyor.

Benim istediğim ise form adlı userformun combobox1deki kullanıcı adı Kontrol sayfası P2: P arasındaki isimlerden biriile uyuşuyor ise tüm commandbuttonlar aktif olsun yok uyuşmuyorsa ismini yazdığım commandbuttonlar aktif olsun

Not tüm commandabutonlar ya CommanButton diye ya da başları MY olarak başlıyor ortak yanı bu.
Yardımcı olabilecek varsa çok sevinirim.

Cevap: Sayfadaki Butonun Pasif Yapılması Hk.

İletiTarih: 14 Oca 2021 18:33
Levent145
Şöyle bir kod denedim ama object hatası veriyor.
Kod: Tümünü seç
Private Sub UserForm_Initialize()
    If Form.ComboBox1.Value = Worksheets("KONTROL")("P2:P") Then

        For i = 1 To Me.Controls.Count
            If Left(Me.Controls(i).Name, 13) = "CommandButton" Or Left(Me.Controls(i).Name, 2) = "MY" Then
                Me.Controls(i).Enabled = True
            End If

        Next
    End If
End Sub

Cevap: Sayfadaki Butonun Pasif Yapılması Hk.

İletiTarih: 15 Oca 2021 08:18
Miraç CAN
Arama başvuru kısmını mesajınızdan kopyala yapıştır yapmıştım, fark etmemişim, başvuru tanımınız eksik.
Worksheets("KONTROL").Range("P:P") bu şekilde olmalı, düzeltirseniz çalışacaktır.

Cevap: Sayfadaki Butonun Pasif Yapılması Hk.

İletiTarih: 15 Oca 2021 14:36
Levent145
Hocam çok teşekkür ederim. Sorun çözüldü.