› Sviluppare funzionalita su Microsoft Office con VBA › Verificare foglio attivo!
-
AutoreArticoli
-
Salve!
Ho bisogno di sapere cosa devo scrivere per poter sapere se il foglio attivo è "foglio1".
In pratica ho inserito :
Application.OnKey "{M}", "NOME_MACRO" --> All'interno di (Questa_cartella_di_lavoro)
In questo modo all'apertura del file verrà memorizzato il comando (ALT+M) che chiamerà la macro "NOME_MACRO".
LA (Macro / Sub)
Public Sub NOME_MACRO()
MsgBox ("Funziona...!")
End SubIl messaggio viene correttamente visualizzato però vorrei che il messaggio che in questo caso interpreta "le istruzioni che dovranno essere eseguite" venisse avviato solo se il foglio attivo è "Foglio1"
Public Sub NOME_MACRO()
*** Se foglio attivo = "Foglio1" *** Then
MsgBox ("Funziona...!")Else Exit Sub
End SubTutto qui!
Potresti provare con
If ActiveSheet.Name = "Foglio1" Then ' fai qualcosa Else 'fai altro End if
Funziona ma...
Mi permetto di essere pignolo verso l'amico Alfri, perchè scrivere:
If ActiveSheet.Name = "Foglio1" Then
fallisce se il foglio si chiama, per dire, "foglio1" (con la effe minuscola).
ciao a tutti
ed un saluto ad Alfredo ed a Vecchio Frac
La soluzione tecnica al quesito del Thread l'ha già data Alfredo, ma prendo spunto dall'osservazione di VF,
per proporne un'altra relativa all'approccio avuto nel trovare una soluzione ad una situazione di partenza
"as is" (tale e quale, letteralmente così è):
verifico la situazione attuale del file ed in base alla situazione attuale eseguo le ulteriori verifiche/modifiche
che mi necessitano.
Come ho detto più volte in altri Forum, l'obiettivo è sempre il punto rosso al centro del bersaglio, e quindi ogni strategia che lo persegue è ovviamente legittima , ma questa, non è la mia.
Credo sia una questione mentale, sicuramente opinabile, che vado ad esporre.
Io sono l'umano, ed il computer la macchina. Alla quale TENTO di non adeguarmi.
Quindi nel caso specifico, non verifico se il file si apre sul "Foglio1", ma se mi serve che si apra su quel foglio,
lo forzo con un'istruzione specifica
sheets("Foglio1").activate ' facendo attenzione di scriverne correttamente il nome
Ne consegue una preventiva analisi e pianificazione dell'obiettivo globale del progetto, ed una disposizione
dei dati sul foglio atta ad utilizzare al meglio e con meno istruzioni possibili, lo strumento in utilizzo:
Excel
Frank
Funziona ma...
Chi scrive la macro sa esattamente il nome del foglio.
Presumo di sì (non si può mai esserne sicuri però 🙂 ) ma il test dell'uguaglianza secca è sempre pericoloso 😉
-
AutoreArticoli