| 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
| |