Skip to main content

Excel'de sağ tıklama menüsünden birden fazla makro nasıl çalıştırılır?

Author: Xiaoyang Last Modified: 2025-06-10
run multiple macros from right click menu

Çalışma kitabınızda birden fazla VBA makrosu varsa, kodu çalıştırmak için VBA penceresini açmalı ve ardından makroyu seçmelisiniz. Bu makalede, sol taraftaki ekran görüntüsünde gösterildiği gibi, iş akışınızı daha verimli hale getirmek için sağ tıklama menüsünden makroları nasıl çalıştıracağımı anlatmak istiyorum.

VBA kodlarıyla sağ tıklama menüsünden birden fazla makro çalıştırma


VBA kodlarıyla sağ tıklama menüsünden birden fazla makro çalıştırma

Sağ tıklama menüsünden bir çalışma kitabındaki makro kodlarını çalıştırmak için aşağıdaki adımlar size yardımcı olabilir, lütfen şu şekilde devam edin:

1. Microsoft Visual Basic for Applications penceresini açmak için Alt + F11 tuşlarına basın.

2. Ardından, sol taraftaki Proje bölmesinde ThisWorkbook öğesine çift tıklayın ve aşağıdaki VBA kodunu boş modüle kopyalayıp yapıştırın.

Private Sub Workbook_Open()
Run "LoadMacro"
End Sub
Private Sub Workbook_Activate()
Run "LoadMacro"
End Sub
Private Sub Workbook_Deactivate()
Run "ClearMacro"
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Run "ClearMacro"
ThisWorkbook.Save
End Sub

paste code into the ThisWorkbook module

3. Hala Microsoft Visual Basic for Applications penceresindeyken, lütfen Ekle > Modül'e tıklayın ve aşağıdaki kodu bu modüle yapıştırın.

Private Sub LoadMacro()
Dim xArrMenu As Variant
Dim xStrLine, xSreBtnName As String
Dim xObjCBCF, xObjCntrAll As CommandBarControl
Dim xObjCBCs As CommandBars
Dim xObjCBBtn As CommandBarButton
Dim xIntLine, xFNum As Integer
Dim xObjComponent As Object
Run "ClearMacro"
Set xObjCBCF = Application.CommandBars("Cell").Controls.Add(msoControlPopup, before:=1)
xObjCBCF.Caption = " Run Macro "
xObjCBCF.BeginGroup = False
For Each xObjComponent In ActiveWorkbook.VBProject.VBComponents
    If xObjComponent.Type = 1 Then
        For xIntLine = 1 To xObjComponent.CodeModule.CountOfLines
        xStrLine = xObjComponent.CodeModule.Lines(xIntLine, 1)
        xStrLine = Trim(xStrLine)
            If (InStr(xStrLine, "()") > 0) And (Left(xStrLine, 11) = "Private Sub" Or Left(xStrLine, 3) = "Sub") Then
            xSreBtnName = ""
            If "Private Sub" = Left(xStrLine, 11) Then
                xSreBtnName = Trim(Mid(xStrLine, 12, InStr(xStrLine, "()") - 12))
            ElseIf "Sub" = Left(xStrLine, 3) Then
               xSreBtnName = Trim(Mid(xStrLine, 4, InStr(xStrLine, "()") - 4))
            End If
            If xSreBtnName <> "" And xSreBtnName <> "RightClickReset" And xSreBtnName <> "LoadMacro" And xSreBtnName <> "ActionMacro" Then
                Set xObjCBBtn = xObjCBCF.Controls.Add
                With xObjCBBtn
                    .FaceId = 186
                    .Style = msoButtonIconAndCaption
                    .Caption = xSreBtnName
                    .OnAction = "ActionMacro"
                End With
            End If
            End If
        Next xIntLine
    End If
Next xObjComponent
End Sub
Private Sub ClearMacro()
On Error Resume Next
CommandBars("Cell").Controls(" Run Macro ").Delete
Err.Clear
CommandBars("Cell").Reset
End Sub
Private Sub ActionMacro()
On Error GoTo Err1
With Application
Run .CommandBars("Cell").Controls(1).Controls(.Caller(1)).Caption
End With
Exit Sub
Err1:
    MsgBox "Invalid"
End Sub

paste code into the normal module

4. Kodları yapıştırdıktan sonra, Araçlar > Referanslar'a tıklayın ve ekrana bir Referanslar-VBAProject iletişim kutusu gelecektir. Kullanılabilir Referanslar listesi kutusunda Microsoft Visual Basic for Applications Extensibility 5.3 seçeneğini işaretleyin, aşağıdaki ekran görüntüsüne bakın:

check Microsoft Visual Basic for Applications Extensibility 5.3 in References dialog box

5. Ardından Tamam'a tıklayarak iletişim kutusundan çıkın. Şimdi, bu çalışma kitabını Excel Makro Etkin Çalışma Kitabı formatında kaydetmelisiniz, aşağıdaki ekran görüntüsüne bakın:

save the workbook as Excel Macro-Enabled Workbook format

6. Son olarak, lütfen kodların etkili olması için çalışma kitabını yeniden başlatın. Artık bir hücreye sağ tıkladığınızda, sağ tıklama menüsüne bir Makro Çalıştır seçeneği eklenir ve çalışma kitabınızdaki tüm makrolar alt menüde listelenir, aşağıdaki ekran görüntüsüne bakın:

when right clicking a cell, all macros in your workbook are listed in submenu

7. Daha sonra kodu çalıştırmak için üzerine tıklamanız yeterlidir.



En İyi Ofis Verimlilik Araçları

🤖 Kutools AI Asistanı: Veri analizinde devrim yaratın: Akıllı Yürütme   |  Kod Oluştur  |  Özel Formüller Oluştur  |  Verileri Analiz Et ve Grafikler Oluştur  |  Geliştirilmiş İşlevleri Çağır
Popüler Özellikler: Yinelenenleri Bul, Vurgula veya İşaretle   |  Boş Satırları Sil   |  Sütunları veya Hücreleri Verileri Kaybetmeden Birleştir   |   Formül Olmadan Yuvarla ...
Süper ARA: Çok Kriterli Düşeyara    Çoklu Değer Düşeyara  |   Çoklu sayfa araması   |   Bulanık Eşleme ....
Gelişmiş Açılır Liste: Hızlıca Açılır Liste Oluştur   |  Bağımlı Açılır Liste   |  Çoklu Seçimli Açılır Liste ....
Sütun Yöneticisi: Belirli Sayıda Sütun Ekle  |  Sütunları Taşı  |  Gizli Sütunların Görünürlük Durumunu Değiştir  |  Aralıkları ve Sütunları Karşılaştır ...
Öne Çıkan Özellikler: Izgara Odaklama   |  Tasarım Görünümü   |   Gelişmiş formül çubuğu    Çalışma Kitabı & Çalışma Sayfası Yöneticisi   |  Otomatik Metin Kütüphanesi (Auto Text)   |  Tarih Seçici   |  Veri Birleştir   |  Hücreleri Şifrele/Şifre Çöz    Listeye Göre E-posta Gönder   |  Süper Filtre   |   Özel Filtre (kalın/italik/üstü çizili filtrele...) ...
En İyi15 Araç Seti12 Metin Aracı (Metin Ekle, Belirli Karakterleri Sil, ...)   |   50+ Grafik Türü (Gantt Grafiği, ...)   |   40+ Pratik Formül (Doğum tarihine dayanarak yaş hesapla, ...)   |   19 Ekleme Aracı (QR Kodu Ekle, Yoldan Resim Ekle, ...)   |   12 Dönüşüm Aracı (Kelimeye Dönüştür, Para Birimi Dönüştürme, ...)   |   7 Birleştir & Böl Aracı (Gelişmiş Satırları Birleştir, Hücreleri Böl, ...)   |   ... ve daha fazlası

Kutools for Excel ile Excel becerilerinizi geliştirin ve daha önce hiç olmadığı kadar verimli olun. Kutools for Excel, üretkenliğinizi artırmak ve zamanınızı kaydetmek için300'den fazla gelişmiş özellik sunar.  En çok ihtiyacınız olan özelliği almak için buraya tıklayın...


Office Tab, Office'e sekmeli arayüz getirir ve işinizi çok daha kolaylaştırır

  • Word, Excel, PowerPoint'te sekmeli düzenleme ve okuma özelliğini etkinleştirin.
  • Aynı pencerenin yeni sekmelerinde birden fazla belge açın ve oluşturun, yeni pencerelerde değil.
  • Verimliliğinizi %50 artırır ve her gün yüzlerce fare tıklamasını azaltır!