Per richiamare una macro (private) presente nel foglio1 la sintassi è Foglio1.NomeMacro, ma se la macro si trova in modulo1 qual è la giusta sintassi per richiamarla? modulo1.NomeMacro non funziona.
Ciao
Moderatori: Anthony47, Flash30005
Umh... qualcosa però non torna, le macro dichiarate Private presenti nei vari fogli sono richiamali dall'esterno aggiungendo al nome della macro il nome del foglio quindi Foglio1.nomemacro
Credo che allo stesso modo si possano richiamre dall'esterno le macro dichiarate Private presenti nei vari moduli (o almeno è logico pensarlo). Bisogna però capire come indicare davanti al nome della macro il modulo.
Anthony47 ha scritto:Private e' un elemento di dichiarazione, e come significato Microsoft dice: "Indica che la routine Sub è accessibile solo per le altre routine incluse nel modulo in cui è stata dichiarata."
Altre ipotesi sono inutili. Fortunatamente se si vuole che una macro sia accessibile da altro modulo basta non dichiararla Private.
Sul mio vba (excel xp o excel 2003) Foglio1.NomeMacro funziona solo se NomeMacro non e' Private; forse 2007 ha introdotto qualche novita'?
Ciao.
CHIEDO VENIAMa perchè continui sempre ad avere cosi poca fiducia?
CMacro = "'" & OWb & "'NomeMacro" '<<< Cioe' nome della macro preceduto da APICE-SEMPLICE
Anthony47 ha scritto:Comunque, facciamo il punto.
1) stiamo parlando di come richiamare macro "private" residenti su un modulo standard di codice (non "di foglio") da un altro modulo; vero?
2) resta la curiosita' di sapere perche' prima la vuoi dichiarare Private e poi la vuoi gestire come pubblica
3) la macro che vuoi chiamare su che modulo e' localizzata e come si chiama? (tutta la prima riga di codice)
4) se in una macro di Modulo1 scrivi Application.Run "NomeMacro", la macro viene richiamata? (lo vedi meglio in passo-passo: cursore sopra la scritta Application.Run, F8; ad ogni F8 verra' eseguita una istruzione, quella evidenziata; F5 per eseguire tutto fino alla fine).
5) Se NO, togliendo la definizione Private da NomeMacro, la macro viene richiamata?
Magari dimostriamo la validita' della definizione di Private, che non mi meraviglierebbe: "Indica che la routine Sub è accessibile solo per le altre routine incluse nel modulo in cui è stata dichiarata."
Ciao.
Anthony47 ha scritto:Intanto ho visto che Application.Run "NomeMacro" manda in esecuzione anche macro Private (Application.Run "NomeFile.xls!NomeMacro" se da altro file).
Non ho l' abitudine di fare domande inutili, ma siccome ti limiti a scrivere "No, Anthony cosi la macro non parte, da errore!" ho cercato di estorcerti qualche informazione in piu'.Caro Anthony questo somiglia ad un interrogatorio, vorrrei un avvocato... scherzi a parte a me sembra si stia esagerando, hai fatto una serie di domande inutili....
Torna a Applicazioni Office Windows
Macro per aprire file salvato su sharepoint Onedrive Autore: marcopont |
Forum: Applicazioni Office Windows Risposte: 2 |
Come impostare il formato data predefinito in excel? Autore: wallace&gromit |
Forum: Applicazioni Office Windows Risposte: 5 |
Come interrompere macro sndPlaySound Autore: systemcrack |
Forum: Applicazioni Office Windows Risposte: 2 |
Visitano il forum: Nessuno e 13 ospiti