I cookie ci aiutano i nostri servizi. Utilizzando i nostri servizi, l'utente accetta di utilizzare i cookie.
Suggerimento: le altre lingue sono tradotte da Google. Puoi visitare il English versione di questo link.
Log In
x
or
x
x
Registrati
x

or

Come attivare o eseguire una macro facendo clic su una cella specifica in Excel?

Mentre si lavora con Microsoft Excel, è possibile sapere come eseguire una determinata macro con un pulsante di comando. Ma sai come eseguire una macro semplicemente facendo clic su una cella specifica in un foglio di lavoro? Questo articolo ti mostrerà il metodo di attivazione di una macro facendo clic su una specifica cella nei dettagli.

Attivare o eseguire una macro facendo clic su una cella specifica con codice VBA


Combina più fogli di lavoro / cartelle di lavoro in un foglio di lavoro / cartella di lavoro:

Combinare più fogli di lavoro o cartelle di lavoro in un unico foglio di lavoro o cartella di lavoro può essere un compito enorme nel tuo lavoro quotidiano. Ma se lo hai Kutools for Excel, la sua potente utilità - Combinare può aiutarti a combinare rapidamente più fogli di lavoro, cartelle di lavoro in un foglio di lavoro o in una cartella di lavoro.

Kutools for Excel include più di 300 utili strumenti di Excel. Libero di provare senza limiti nei giorni 60. Scarica la versione di prova gratuita ora


Attivare o eseguire una macro facendo clic su una cella specifica con codice VBA


Il seguente codice VBA può aiutarti a eseguire una macro facendo clic su una cella specifica in Excel. Si prega di fare come segue.

1. Nel foglio di lavoro con la cella è necessario fare clic per eseguire una macro, fare clic con il pulsante destro del mouse sulla scheda del foglio e quindi fare clic su Visualizza codice dal menu di scelta rapida.

2. Nel Microsoft Visual Basic, Applications Edition finestra, copia e incolla lo script VBA sottostante nella finestra del codice.

Codice VBA: attiva o esegui una macro facendo clic su una cella specifica

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

Note:

1. Nel codice, D4 è la cella su cui farai clic per eseguire la macro;

2. Si prega di sostituire il nome del codice MyMacro con la Macro corri nel foglio di lavoro. Vedi screenshot:

3. premi il altro + Q tasti contemporaneamente per chiudere il Microsoft Visual Basic, Applications Edition finestra.

D'ora in poi, quando si fa clic sulla cella D4 nel foglio di lavoro corrente, la macro specificata verrà attivata immediatamente.


Articoli correlati:



Strumenti di produttività consigliati

Office Tab

stella d'oro1 Porta pratiche schede ad Excel e ad altri software Office, proprio come Chrome, Firefox e il nuovo Internet Explorer.

Kutools for Excel

stella d'oro1 Stupefacente! Aumenta la tua produttività in 5 minuti. Non servono abilità speciali, risparmiate due ore al giorno!

stella d'oro1 300 Nuove funzionalità per Excel, rendono Excel molto semplice e potente:

  • Unisci cella / righe / colonne senza perdere dati.
  • Combina e consolida più fogli e cartelle di lavoro.
  • Confronta intervalli, copia intervalli multipli, conversione testo in data, unità e conversione valuta.
  • Contare in base a colori, totali parziali cercapersone, ordinamento avanzato e filtro super,
  • Altro Seleziona / Inserisci / Elimina / Testo / Formato / Link / Commento / Cartelle di lavoro / Fogli di lavoro Strumenti ...

Schermata di Kutools per Excel

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.
    Phil H · 3 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 · 3 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 · 6 months 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 · 1 months ago
        It isn't working on my Excel. The code is correct?
  • To post as a guest, your comment is unpublished.
    Matt · 1 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 · 1 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.