Identificare il nome di una macro

  • Identificazione del nome di una macro di Ricky53
    Ho diversi oggetti su un fogli excel (in particolare sono degli ovali) ai quali ho assegnato una macro. vorrei (dopo aver fatto click con il mouse) sapere qual’e’ il nome dell’ovale selezionato per fargli eseguire istruzioni diverse a seconda della selezione effettuata.
    al momento non ho trovato altro che fare tante macro (per esattezza 44 e contenenti tutte le stesse istruzioni ) ma con nome diverso da associare ai vari ovali. e’ un proliferare di istruzioni e se devo modificare qualcosa sono costretto a riportare le stesse modifiche in tutte le macro (che, ripeto, sono 44). potete trovarmi una soluzione più semplice e di facile manutenzione.
    grazie a ttuti. ricky53

    di Apoben64
    Guarda se può aiutarti questo link :

    http://www.ennius.altervista.org/vba/vba55.php

    ciao luca

    Identificazione del nome di una macro di Ricky53
    La tua indicazione mi è utile per individuare tutte le macro presenti nel fogli.
    in più a me occorre la seguente cosa (semplifico l'esigenza con un if):

    if (ovale selezionato con il mouse) è (ovale1) then macro_a
    else
    macro_b
    end if

    la mia difficoltà sta nell'idividuare l'ovale (il suo nome) selezionato con il mouse.
    e' possibile individuarlo, se si con quale istruzione?
    grazie
    ricky53

    Identificazione del nome di una macro di Ricky53
    Scusate se insisto ma io ho continuato a cercare soluzioni al mio problema e non ho trovato nulla.
    c'è qualcuno che può aiutarmi?
    riporto la mia richiesta:

    if (ovale selezionato con il mouse) è uguale a(ovale1) then macro_a
    else
    macro_b
    end if

    come trasformo le frasi "ovale selezionato con il mouse" e "è uguale a ovale1" in istruzioni?
    grazie della vostra attenzione.
    ciao ricky53

    Per big ronnie: nome shapes di Ricky53
    Caro big, visto che hai risolto il mio caso dei grafici puoi trovare una soluzione anche per gli "shapes"?
    ciao, ricky53

    Oggetto shape di Big ronnie
    Credo che, adattandolo alle tue esigenze, dovrei aver centrato l'obiettivo un'altra volta.rispetta le maiuscole e le minuscole dei nomi degli shapes.ciao alla prossima.
     
    Sub Ricky53()
    If Selection.ShapeRange.Name = "Oval 2" Then MsgBox "Ho Colpito ancora"
    End Sub
    

    di Big ronnie
    Dimenticavo di dirti che per far funzionare la macro l'ovale deve essere già selezionato.

    Per big ronnie: nome shapes di Ricky53
    Bersaglio colpito ancora, ottimo.
    sono una spinaccia.
    grazie per il tuo aiuto.
    ciao, ricky53

    p.s.: concedimi questo mio breve e bonario commento.
    non conosco molto il mondo del vba (e per questo motivo chiedo aiuto) però la programmazione si; il fatto che i nomi degli oggetti siano case-sentitive rientra tra le cose che conosco e poi
    qualche piccolo lavoro l'ho pubblicato anchio (vedi per curiosità nel sito www.terzaghi.it nella sezione "applicazioni in excel - sezione della scuola" i file di storia, geografia, automobilismo e codice della strada).
    grazie ancora ed alla prossima.

    Nome shapes di Ricky53
    In seguito alla soluzione di big ho buttato giù qualcosa per applicarlo alla mia esigenza: con una forma selezionata tutto o.k.

    nascono due problemi:
    a) quando non è stata selezionata nessuna forma;
    b) se seleziono due forme.

    nella sezione scambio file allego un file con un esempio per far vedere l'errore. il nome è "seleziona.forma.xls".

    c'è una soluzione?
    grazie
    ricky53

    Piu forme di Big ronnie
    Questa macro ti fornisce un nome unico("selezioni") di più shapes selezionati.vedi tu se puoi adattarla.logicamente se non selezioni nulla "selezioni" sarà una stringa vuota.ciao
     
    Sub Selezione()
    On Error Resume Next
    For I = 1 To ActiveSheet.Shapes.Count
      Selezioni = Selezioni & " " & Selection.ShapeRange(I).Name
    Next I
    MsgBox Selezioni
    End Sub