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 che scatta quando cambia dato in un altro file Autore: systemcrack |
Forum: Applicazioni Office Windows Risposte: 14 |
Excel: formula automatica per evidenziare prodotto scaduto Autore: gamma_ray |
Forum: Applicazioni Office Windows Risposte: 3 |
Salvare file excel in formato html escludendo le immagini Autore: systemcrack |
Forum: Applicazioni Office Windows Risposte: 10 |
Problema con macro copia e rinomina file Autore: systemcrack |
Forum: Applicazioni Office Windows Risposte: 2 |
formula excel non visualizza risultato Autore: tommasog |
Forum: Applicazioni Office Windows Risposte: 6 |
Visitano il forum: Nessuno e 87 ospiti