Ottenere il testo di un oggetto shape

Ciao.

In un foglio di lavoro, ho creato come "forme" diversi pulsanti ai quali assegno delle macro.

E' possibile ottenere il testo contenuto in questi pulsanti, all'interno della macro appena lanciata?

Il pratica:

Pulsante 1:

Testo del pulsante: GENNAIO

Macro associata: Public Sub Mese()

Riesco ad ottenere all'interno della macro 'Mese' (dopo che è stata lanciata con il click sul pulsante) la stringa GENNAIO ?

 

Grazie per l'aiuto

ciao

Risposta
Risposta

Ciao.

In un foglio di lavoro, ho creato come "forme" diversi pulsanti ai quali assegno delle macro.

E' possibile ottenere il testo contenuto in questi pulsanti, all'interno della macro appena lanciata?

Il pratica:

Pulsante 1:

Testo del pulsante: GENNAIO

Macro associata: Public Sub Mese()

Riesco ad ottenere all'interno della macro 'Mese' (dopo che è stata lanciata con il click sul pulsante) la stringa GENNAIO ?

 

Grazie per l'aiuto

ciao


Se quello che vuoi è che una macro richiamata da più shapes sia in grado di indicare quale degli oggetti l'ha scatenata(su quale shape hai fatto click), non credo sia possibile se quello che hai fatto è *assegnare* la macro ai vari oggetti. Come avrai già notato nel modulo del foglio che contiene le shapes, non abbiamo eventi specifici per le shapes. Ma... ma... ma... ma si può fare in altro modo ;-)

Mettiamo che cliccando le tue shapes tu richiami la macro m(). Ecco il suo codice:

Public Sub m()

    Dim mShape As String
    Dim rng As Range
   
    Set rng = ActiveCell
    mShape = ActiveSheet.Shapes(Application.Caller).Name

    ActiveSheet.Shapes(mShape).Select
    MsgBox Selection.Characters.Text
    rng.Select
   
    Set rng = Nothing
   
End Sub

In pratica, Application.Caller sarà la shape sulla quale hai fatto click. A questo punto la selezioniamo, ne recuperiamo il testo, restituiamo poi lo stato di select alla cella sulla quale ti trovavi. Facile, no?

--
Mauro Gamberini
Microsoft© MVP (Excel)
http://www.maurogsc.eu

1 persona ha trovato utile la risposta

·

La risposta è risultata utile?

Siamo spiacenti che questo non sia stato utile.

Ottimo. Grazie per il tuo feedback.

Quanto sei soddisfatto di questa risposta?

Grazie per il feedback, ci aiuta a migliorare il sito.

Quanto sei soddisfatto di questa risposta?

Grazie per il tuo feedback.

 
 

Informazioni domanda


Ultimo aggiornamento 30 maggio 2022 Visualizzazioni 288 Si applica a: