VBA: nome modulo chiamante

Anonimo
2024-09-06T10:23:30+00:00

Buongiorno,

se non ricordo male, tempo fa mi ero imbattuto in una istruzione VBA che consente ad una Sub() chiamata di conoscere il nome della Sub() chiamante.

Esempio: SUB Pippo() => chiama Sub Pluto(…); nella Sub Pluto(…) (la routine chiamata) è possibile conoscere il nome della Sub chiamante (cioè, in questo caso, “Pippo()”).

Non ricordo se è proprio così o comunque qualcosa di simile.

Grazie

Ivo

Microsoft 365 e Office | Excel | Per la casa | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

5 risposte

Ordina per: Più utili
  1. Anonimo
    2024-09-07T18:57:29+00:00

    ciao a tutti

    ed un saluto a Gianfranco

    ho fatto una ricerca in rete... ed ho trovato questa che ho modificato,

    dovrebbe essere quanto richiesto.

    Grazie, @tanimon.

    In realtà quello cui mi riferivo lo trovate qui:

    (https://stackoverflow.com/questions/23945321/how-to-get-the-procedure-or-function-name-at-runtime).

    Ci sono arrivato anch'io dopo un po' di ricerche. Anche se in realtà mi sembra (se la memoria non mi inganna) ci dovrebbe essere una soluzione più semplice (che però non ritrovo, oppure la memoria mi inganna).

    Buona serata

    Ivo

    La risposta è stata utile?

    0 commenti Nessun commento
  2. Anonimo
    2024-09-07T16:19:30+00:00

    ciao a tutti

    ed un saluto a Gianfranco

    ho fatto una ricerca in rete... ed ho trovato questa che ho modificato,

    dovrebbe essere quanto richiesto.

    Sub Sample1(Optional wasCalled As Variant)

    If IsMissing(wasCalled) = True Then Exit Sub 
    
    MsgBox (wasCalled) 
    

    End Sub

    'Then change the calling procedure to this by adding to the line that calls the Sample1 procedure:

    Sub Clear_Range()

    Sheets("Foglio1").Select 
    
    Range("B1:D5").Select 
    
    Sample1 ("Clear\_Range") 
    
    Range("A1").Select 
    

    End Sub

    La risposta è stata utile?

    0 commenti Nessun commento
  3. Gianfranco55 25,190 Punti di reputazione Moderatore volontario
    2024-09-06T21:02:39+00:00

    ciao

    non so cosa intendi per HELP

    fammi capire

    tu hai trovato una macro che all'interno ha l'istruzione

    che ti indica la macro che l'ha lanciata

    esempio

    Sub a ()

    Call B

    End Sub

    Sub B ()

    Range("A1")=100

    ..........mi ha attivato la Sub() a

    End Sub

    La risposta è stata utile?

    0 commenti Nessun commento
  4. Anonimo
    2024-09-06T19:13:42+00:00

    Grazie, Gianfranco,

    ma la mia domanda è relativa a tutt'altro argomento e non a come funziona l'help.

    Buona serata

    Ivo

    La risposta è stata utile?

    0 commenti Nessun commento
  5. Gianfranco55 25,190 Punti di reputazione Moderatore volontario
    2024-09-06T11:03:12+00:00

    ciao

    se nella barra multifunzione clicchi su SVILUPPO

    e poi si MACRO

    hai tutti i nomi delle macro e trovi quello che cerchi

    La risposta è stata utile?

    0 commenti Nessun commento