tıklanan submenü ismini almak

Katılım
2 Mart 2007
Mesajlar
603
Excel Vers. ve Dili
2003
Arkadaşlar

i = msoControlButton.Caption

yemiyor.

tıklanan submenü captionu nasıl alınır.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Ne istediğinizi tam olarak anlamamakla beraber aşağıdaki kodu deneyin belki tutar.

Kod:
application.caller
 
Katılım
2 Mart 2007
Mesajlar
603
Excel Vers. ve Dili
2003
cbMenu.Controls.Add(msoControlButton, 1, , , True)
.Caption = "Deneme"

Yardım butonun yanına oluşturduğum menü için bir buton ekledim.

.OnAction = "DüğmeTıklat"

ve görev olarak bu makroya git dedim.
makro içinde tıklanan bu submenünün ismini nasıl okurum.

yani burda "Deneme" ye tıklanıyor bunu Makro içinden nasıl ulaşırım.

Tıklanan butonun captionu almam lazım..
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,603
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Örnek bir dosya eklermisiniz.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Ekli dosyayı inceleyin.
 
Katılım
2 Mart 2007
Mesajlar
603
Excel Vers. ve Dili
2003
@Leventm Teşekkürler tanımlamayı modül dışında yapmak aklıma gelmemişti.:icelim:

Yanlız ismi değişkene alamadım
yani

i = cbSubMenu.Caption
asıl bunu almam lazım.
 
Son düzenleme:

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Yine değişkeni tüm prosedürlerin üstünde aşağıdaki gibi tanımlayın.

Dim i as string

Not: Bu değişkeni nerede kullanacaksınız.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,058
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Yine değişkeni tüm prosedürlerin üstünde aşağıdaki gibi tanımlayın.....
Yukarıda yapmanız gerekeni vermiştim.


Not: Değişkeni tanımladıktan sonra dosyayı kaydedip kapatın, sonra tekrar açın.
 
Katılım
2 Mart 2007
Mesajlar
603
Excel Vers. ve Dili
2003
@Leventm Teşekkürler
Alttaki yazımı bilgi olsun diye yazmıştım.Yani sorunum orda halloldu.
-----------
Değişkeni makro içinde tanımlayınca yemiyor?
@Leventm Teşekkürler
----------
Fakat

Modül içerisinde her seferinde aynı ismi alıyorum yani

A ya tıklasam B ye de C ye de en son oluşturduğum butonun ismi geliyor.
 
Katılım
2 Mart 2007
Mesajlar
603
Excel Vers. ve Dili
2003
Kod:
Sub islem()
i = cbSubMenu.Caption
Sheets(i).Select
End Sub
Sub auto_open()
Sheets("Genel").Select

'...........................................................
    'Menü Ekleyelim
    Set cbMenu = Application.CommandBars(1).Controls.Add(msoControlPopup, , , , True)
    With cbMenu
        .Caption = "&İşlem Seçimi"
        .Tag = "MyTag"
        .BeginGroup = False
    End With
'............................................................
    If cbMenu Is Nothing Then Exit Sub
         'İşlem için buton ekleyelim
     For x = 1 To Worksheets.Count
      Set cbSubMenu = cbMenu.Controls.Add(msoControlButton, 1, , , True)
        With cbSubMenu
        .Caption = Sheets(x).Name
        .OnAction = "islem"
         End With
    Next
End Sub
Arkadaşlar bu kod ile yeni menü oluşturup sayfa isimlerine göre butonlar ekliyorum ve hepsine aynı makroyu veriyorum.
Makroya girince öncelikle butonun ismini almam lazım fakat her seferinde en son eklediği sayfa ismi geçerli oluyor.
ve hangi sayfaya geçeceğim belli olmuyor. burda tıklan ismini nasıl alacağım.
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
......
....
burda tıklan ismini nasıl alacağım.
Yukarıdaki yerine, aşağıdaki kodu kullanacaksın ...

Kod:
Sub islem()
    ShName = CommandBars.ActionControl.Caption
    Sheets(ShName).Select
End Sub
 
Katılım
2 Mart 2007
Mesajlar
603
Excel Vers. ve Dili
2003
Teşekkürler..
 
Üst