Tip: andere talen zijn Google-Vertaald. Je kunt het English versie van deze link.
Log in
x
or
x
x
Registreren
x

or

Hoe een Macro activeren of uitvoeren door op een specifieke cel in Excel te klikken?

Tijdens het werken met Microsoft Excel weet u misschien hoe u een bepaalde macro kunt uitvoeren met een opdrachtknop. Maar weet u hoe u een macro uitvoert door simpelweg op een specifieke cel in een werkblad te klikken? In dit artikel wordt de methode weergegeven voor het activeren van een macro door in detail op een specifieke cel te klikken.

Activeer of voer een macro uit door op een specifieke cel met VBA-code te klikken


Combineer meerdere werkbladen / werkmappen in één werkblad / werkmap:

Combineer meerdere werkbladen of werkmappen in een enkel werkblad of werkmap kan een enorme taak zijn in uw dagelijkse werk. Maar als je dat hebt gedaan Kutools for Excel, zijn krachtige nut - Combineren kan u helpen snel meerdere werkbladen, werkmappen te combineren tot één werkblad of werkmap.

Kutools for Excel bevat meer dan handige Excel-gereedschappen van 300. Gratis om te proberen zonder beperking in 60-dagen. Download nu de gratis proefversie

Tabblad Office Schakel bewerken en browsen met tabbladen in Office in en maak uw werk veel eenvoudiger ...
Kutools voor Excel - De beste Office-productiviteitstool lost de meeste van uw Excel-problemen op
  • Alles hergebruiken: Voeg de meest gebruikte of complexe formules, grafieken en al het andere toe aan uw favorieten en hergebruik ze snel in de toekomst.
  • Meer dan 20-tekstfuncties: Nummer uit tekststring halen; Een deel van de tekst extraheren of verwijderen; Nummers en valuta's omzetten in Engelse woorden ...
  • Tools samenvoegen: Meerdere werkmappen en bladen in één; Meerdere cellen / rijen / kolommen samenvoegen zonder gegevens te verliezen; Dubbele rijen en som samenvoegen ...
  • Split gereedschap: Gegevens splitsen in meerdere bladen op basis van waarde; Eén werkmap naar meerdere Excel-, PDF- of CSV-bestanden; Eén kolom naar meerdere kolommen ...
  • Plakken overslaan Verborgen / gefilterde rijen; Tel en som op achtergrondkleur; Maak een verzendlijst en Verzend e-mails op waarde van Cell...
  • Super filter: Maak geavanceerde filterschema's en pas deze toe op alle bladen; Soort per week, dag, frequentie en meer; filters door vetgedrukt, formules, commentaar ...
  • Meer dan 300 krachtige functies; Werkt met Office 2007-2019 en 365; Ondersteunt alle talen; Eenvoudig inzetbaar in bedrijf; Volledige functionaliteit 60-daagse gratis proefversie.

Activeer of voer een macro uit door op een specifieke cel met VBA-code te klikken


De volgende VBA-code kan u helpen een macro uit te voeren door op een specifieke cel in Excel te klikken. Doe het als volgt.

1. Op het werkblad met de cel moet u klikken om een ​​macro uit te voeren, klik met de rechtermuisknop op het bladtabblad en klik vervolgens op Bekijk code vanuit het contextmenu.

2. In de Microsoft Visual Basic voor toepassingen venster, kopieer en plak het onderstaande VBA-script in het codevenster.

VBA-code: activeer of voer een macro uit door op een specifieke cel te klikken

Option Explicit

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Selection.Count = 1 Then
        If Not Intersect(Target, Range("D4")) Is Nothing Then
            Call MyMacro
        End If
    End If
End Sub

Notes:

1. In de code is D4 de cel waarop u klikt om Macro uit te voeren;

2. Vervang de codenaam MyMacro met de macro die u in het werkblad uitvoert. Zie screenshot:

3. druk de anders + Q toetsen tegelijkertijd om de Microsoft Visual Basic voor toepassingen venster.

Vanaf nu, wanneer u in het huidige werkblad op cel D4 klikt, wordt uw gespecificeerde macro onmiddellijk geactiveerd.


Gerelateerde artikelen:


Kutools voor Excel - De beste Office-productiviteitstool Verhoog uw productiviteit met 80%

  • visfuik: Snel invoegen complexe formules, grafieken en alles wat je eerder hebt gebruikt; Coderen van cellen met wachtwoord; Maak een mailinglijst en stuur e-mails ...
  • Super Formula Bar (bewerk eenvoudig meerdere regels tekst en formule); Lay-out lezen (gemakkelijk grote aantallen cellen lezen en bewerken); Plakken op gefilterd bereik...
  • Cellen / rijen / kolommen samenvoegen zonder gegevens te verliezen; Inhoud gesplitste cellen; Combineer dubbele rijen / kolommen... voorkomen dubbele cellen; Ranges vergelijken...
  • Selecteer Dupliceren of Uniek rijen; Selecteer Lege rijen (alle cellen zijn leeg); Super Find en Fuzzy Find in veel werkboeken; Willekeurig selecteren ...
  • Exacte kopie Meerdere cellen zonder formule-referentie te wijzigen; Automatisch referenties maken naar meerdere vellen; Voeg kogels toe, Selectievakjes en meer ...
  • extract Text, Tekst toevoegen, verwijderen op positie, Verwijder de spatie; Subtotalen voor paging maken en afdrukken; Converteren tussen cellen Inhoud en opmerkingen...
  • Super filter (bewaar en pas filterschema's toe op andere bladen); Geavanceerde sortering per maand / week / dag, frequentie en meer; Speciaal filter door vet, cursief ...
  • Combineer werkmappen en werkbladen; Tabellen samenvoegen op basis van sleutelkolommen; Gegevens splitsen in meerdere bladen; Batch Converteer xls, xlsx en PDF...
  • Meer dan 300 krachtige functies. Ondersteunt Office / Excel 2007-2019 en 365. Ondersteunt alle talen. Eenvoudig te implementeren in uw onderneming of organisatie. Volledige functionaliteit 60-daagse gratis proefversie.
kte-tab 201905

Tabblad Office Brengt interface met tabbladen naar Office en maakt uw werk veel eenvoudiger

  • Bewerken en lezen met tabbladen inschakelen in Word, Excel, PowerPoint, Publisher, Access, Visio en Project.
  • Open en maak meerdere documenten in nieuwe tabbladen van hetzelfde venster, in plaats van in nieuwe vensters.
  • Verhoogt uw productiviteit met 50% en verlaagt dagelijks honderden muisklikken voor u!
Officetab onderaan
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    M. Symonds · 1 months ago
    Thanks for this code. Is it possible to get this to work by clicking on a cell that is merged with others?
  • To post as a guest, your comment is unpublished.
    Shahrokh · 4 months ago
    Thanks, but how about several cells for clicking for running several macros.
    • To post as a guest, your comment is unpublished.
      crystal · 2 months ago
      Hi,
      Try the below VBA code.

      Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      Dim xRgArr As Variant
      Dim xFunArr As Variant
      Dim xFNum As Integer
      Dim xStr As String
      Dim xRg As Range
      xRgArr = Array("A1", "D1", "C1") 'Cells used to trigger macro
      xFunArr = Array("Code name1", "Code name2", "Code name3") 'The corresponding code names
      If Selection.Count = 1 Then
      For xFNum = 0 To UBound(xRgArr)
      Set xRg = ActiveSheet.Range(xRgArr(xFNum))
      If Not Intersect(Target, xRg) Is Nothing Then
      xStr = xFunArr(xFNum)
      Application.Run xStr
      End If
      Next
      End If
      End Sub
  • To post as a guest, your comment is unpublished.
    adam · 8 months ago
    Why not just use some newer version it will be more easy
    https://games.lol/racing/
  • To post as a guest, your comment is unpublished.
    Roger · 8 months ago
    Excel 2002 (XP): If a workbook is opened by selecting "File" and pressing "Shift" it disables macros in that sheet, the problem is that if I select "Tools > Macro > Macros..." I can run the macro anyway, how to solve?
    • To post as a guest, your comment is unpublished.
      crystal · 7 months ago
      Hi Roger,
      We haven't tested the code in Excel 2002(XP). Why not use the newer version of Microsoft Office? It will be more easy for your work.
  • To post as a guest, your comment is unpublished.
    James Clements · 9 months ago
    My full code in this macro is:


    Private Sub Worksheet_SelectionChange(ByVal Target As Range)

    Dim val As String
    REM val = Range("A2").Value

    If Selection.Count = 1 Then
    If Not Intersect(Target, Range("D24")) Is Nothing Then
    REM Call MyMacro
    val = Range("D24").Value
    Range("B27").Value = val
    End If
    End If
    End Sub
    • To post as a guest, your comment is unpublished.
      goalken · 1 months ago
      This topic is very interesting and I am interested but do not know where to find, thankfully you create this topic, hope everyone will help me http://run-3.online
  • To post as a guest, your comment is unpublished.
    James Clements · 9 months ago
    i'm using OpenOffice and have right clicked on sheet-tab and selected events and then selected this macro from MyMacros.. However I get and error on the following line: If Selection.Count = 1 Then >>> "Basic runtime error, variable not defined...
    • To post as a guest, your comment is unpublished.
      crystal · 7 months ago
      Hi James,
      The code only works for Microsoft Office Excel. Thank you for your comment.
  • To post as a guest, your comment is unpublished.
    Alber · 10 months ago
    Thanks but what about merged cells?
    • To post as a guest, your comment is unpublished.
      crystal · 10 months ago
      Hi Alber,
      The code does not work for merged cells.
  • To post as a guest, your comment is unpublished.
    Phil H · 10 months ago
    Hi.

    I have this working well, but would like to add a condition to running the macro. I only want to run the macro if the cell alongside the cell I click into contains a certain value.
    e.g. When I click on cell F6, I want the macro to run if cell E6 contains "x", but if cell E6 is blank, the macro must not run.
    Hope that makes sense.
    Thanks

    here is my original code without the condition:


    Option Explicit

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Selection.Count = 1 Then
    If Not Intersect(Target, Range("F6:F18")) Is Nothing Then
    Call datePick
    End If
    End If
    End Sub
    • To post as a guest, your comment is unpublished.
      crystal · 10 months ago
      Hi,
      The following VBA code can help you solve the problem. Please have a try and thank you for your comment.

      Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      Dim xRg As Range
      If Not Intersect(Target, Range("F6:F18")) Is Nothing Then
      Set xRg = ActiveSheet.Cells(Target.Row, Target.Column - 1)
      If (xRg.Value = "") Or (xRg.Value <> "X") Then Exit Sub
      Call datepick
      End If
      End Sub
  • To post as a guest, your comment is unpublished.
    Medical Coder · 1 years ago
    Great. Its working well... Thank you....
  • To post as a guest, your comment is unpublished.
    Wayne · 1 years ago
    This worked perfectly and will save me a load of time - thank you for sharing your knowledge - much appreciated!
  • To post as a guest, your comment is unpublished.
    Simon Jones · 1 years ago
    If you want to have multiple macros, cells running different macros on the same page - is that possible?
    • To post as a guest, your comment is unpublished.
      crystal · 1 years ago
      Dear Simon,
      The below VBA script can help you to run different macros by clicking on cells on the same page.

      Private Sub Worksheet_SelectionChange(ByVal Target As Range)
      If Target.Count = 1 Then
      If Not Intersect(Target, Range("D4")) Is Nothing Then Call MyMacro1
      If Not Intersect(Target, Range("D8")) Is Nothing Then Call MyMacro2
      If Not Intersect(Target, Range("D10")) Is Nothing Then Call MyMacro3
      End If
      End Sub

      Please add line "If Not Intersect(Target, Range("D10")) Is Nothing Then Call MyMacro" to run more macro by clicking cell. And change the cell and macro names in the code based on your needs.
      • To post as a guest, your comment is unpublished.
        Camila · 8 months ago
        It isn't working on my Excel. The code is correct?
        • To post as a guest, your comment is unpublished.
          crystal · 2 months ago
          Hi Camila,
          Sorry for the inconvenience. Try the below VBA code.

          Private Sub Worksheet_SelectionChange(ByVal Target As Range)
          Dim xRgArr As Variant
          Dim xFunArr As Variant
          Dim xFNum As Integer
          Dim xStr As String
          Dim xRg As Range
          xRgArr = Array("A1", "D1", "C1") 'Cells used to trigger macro
          xFunArr = Array("Code name1", "Code name2", "Code name3") 'The corresponding code names
          If Selection.Count = 1 Then
          For xFNum = 0 To UBound(xRgArr)
          Set xRg = ActiveSheet.Range(xRgArr(xFNum))
          If Not Intersect(Target, xRg) Is Nothing Then
          xStr = xFunArr(xFNum)
          Application.Run xStr
          End If
          Next
          End If
          End Sub
  • To post as a guest, your comment is unpublished.
    Matt · 2 years ago
    Trigger Or Run A Macro By Clicking A Specific Cell With VBA Code, couldn't get this to work. I tried it many different way, but it never acheived what was promised.
    • To post as a guest, your comment is unpublished.
      Peter · 2 years ago
      This code will only work if you place it in the "ThisWorkbook" module. It does not work on a general module.
      workbookname > Microsft Excel Objects > ThisWorkbook.
      • To post as a guest, your comment is unpublished.
        PritishS · 1 years ago
        This code will work on worksheet code module. You need to right click on sheet tab and click on 'View Code'. This will open code module for that worksheet only. Then paste the mentioned code.