Esecuzione di macro



  • Esecuzione di macro
    di Alex (utente non iscritto) data: 26/03/2015 14:33:48

    Buonasera a tutti.
    Sto usando un file su cui con un doppio click su una cella di un foglio riesco a far partire una macro diversa a seconda del contenuto della cella stessa.
    Quindi, se la cella al suo interno ha il nome macro1, con un doppio click attivo la macro1, con contenuto macro2 mi attiva la macro2 e via dicendo.
    Attualmente gestisco la cosa con un codice del genere:

    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    scelta1 = Range("C1").Value
    If Target.Address = "$C$1" Then Application.Run scelta1
    scelta2 = Range("C2").Value
    If Target.Address = "$C$2" Then Application.Run sceltaC2

    nell'es considero solo le celle c1 e c2 ma se volessi estendere la macro ad un numero più alto di celle (ad es da c1 a c50) esiste un modo per evitare di ripetere la scrittura per 50 volte? Vorrei insomma che su qualsiasi cella dell'intervallo considerato, ci fosse la possibilità di richiamare con doppio click (o in altro modo) la macro denominata con il nome presente nella nella cella.
    Grazie mille.
    Saluti



  • di alfrimpa data: 26/03/2015 14:50:09

    Ciao Alex

    Prova con la macro qui sotto; io l'ho provata e mi pare funzioni.

    Alfredo
     
    Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Not Intersect(Target, Range("c1:c50")) Is Nothing Then
        Application.Run Target.Value
    End If
    End Sub
    





  • Esecuzione di macro
    di Alex (utente non iscritto) data: 26/03/2015 15:50:44

    Funziona perfettamente. Grazie. Che dire? ho un'infinità di strada ancora da fare per capire come gira vba..
    ciao
    PA