Esempi di Excel VBA: esempi di eventi introduttivi

Esempi di Excel VBA: esempi di eventi introduttivi

Se stai cercando di ottenere una buona conoscenza di Excel VBA , probabilmente potresti trarre vantaggio da alcuni esempi per sviluppare quell'abilità visiva di base. Qui trovi alcuni esempi di Excel VBA in modo che tu possa prendere confidenza con questa attività di gestione degli eventi.

Esempio VBA di Excel: l'evento Open per una cartella di lavoro

Uno degli eventi VBA di Excel più comunemente usati è l'evento Workbook Open. Supponi di avere una cartella di lavoro che usi ogni giorno. La procedura Workbook_Open in questo esempio viene eseguita ogni volta che viene aperta la cartella di lavoro. La procedura verifica il giorno della settimana; se è venerdì, il codice visualizza un messaggio di promemoria per te.

Per creare la procedura VBA di Excel che viene eseguita ogni volta che si verifica l'evento Workbook Open, attenersi alla seguente procedura:

Apri la cartella di lavoro di Excel.
Va bene qualsiasi cartella di lavoro di Excel.

Premi Alt+F11 per attivare il VBE.

Individua la cartella di lavoro nella finestra Progetto.

Fare doppio clic sul nome del progetto per visualizzarne gli elementi, se necessario.

Fare doppio clic sull'elemento ThisWorkbook.
Il VBE visualizza una finestra Codice vuota per l'oggetto ThisWorkbook.

Nella finestra Codice, seleziona Cartella di lavoro dall'elenco a discesa Oggetto (a sinistra).
Il VBE immette le istruzioni di inizio e fine per una procedura Workbook_Open.

Inserisci le seguenti istruzioni, in modo che la procedura completa dell'evento assomigli a questa:

Cartella di lavoro secondaria privata_Apri()
  Dim Msg As String
  Se giorno della settimana (ora) = 6 allora
    Msg = "Oggi è venerdì. Non dimenticare di "
    Msg = Msg & "invia il rapporto TPS!"
    MsgBox Msg
  Finisci se
Fine sottotitolo

La finestra del codice dovrebbe essere simile a questa.

Esempi di Excel VBA: esempi di eventi introduttivi

Questa procedura del gestore eventi viene eseguita all'apertura della cartella di lavoro.

Workbook_Open viene eseguito automaticamente ogni volta che viene aperta la cartella di lavoro. Utilizza la funzione WeekDay di VBA per determinare il giorno della settimana. Se è venerdì (giorno 6), una finestra di messaggio ricorda all'utente di inviare una segnalazione. Se non è venerdì, non succede nulla.

Se oggi non è venerdì, potresti avere difficoltà a testare questa procedura. Puoi semplicemente modificare il 6 in modo che corrisponda al numero del giorno effettivo di oggi.

E, naturalmente, puoi modificare questa procedura come preferisci. Ad esempio, la versione seguente visualizza un messaggio ogni volta che viene aperta la cartella di lavoro. Questo diventa fastidioso dopo un po'.

Una procedura Workbook_Open pu�� fare quasi tutto. Questi gestori di eventi vengono spesso utilizzati per quanto segue:

  • Visualizzazione dei messaggi di benvenuto (come nella fantastica cartella di lavoro di Frank)
  • Apertura di altre cartelle di lavoro
  • Attivazione di un particolare foglio di lavoro nella cartella di lavoro
  • Configurazione di menu di scelta rapida personalizzati

Ecco un esempio finale VBA di Excel di una procedura Workbook_Open che usa le funzioni GetSetting e SaveSetting per tenere traccia di quante volte la cartella di lavoro è stata aperta. La funzione SaveSetting scrive un valore nel registro di Windows e la funzione GetSetting recupera tale valore (consultare la Guida per i dettagli). Il seguente esempio di Excel VBA recupera il conteggio dal registro, lo incrementa e quindi lo salva di nuovo nel registro. Indica inoltre all'utente il valore di Cnt che corrisponde al numero di volte in cui la cartella di lavoro è stata aperta.

Cartella di lavoro secondaria privata_Apri()
  Dim Cnt As Long
  Cnt = GetSetting("MyApp", "Impostazioni", "Apri", 0)
  Cnt = Cnt + 1
  SaveSetting "MyApp", "Settings", "Open", Cnt
  MsgBox "Questa cartella di lavoro è stata aperta " & Cnt & " volte."
Fine sottotitolo

Esempi di Excel VBA: esempi di eventi introduttivi

Utilizzo di un gestore di eventi Workbook_Open per tenere traccia di quante volte è stata aperta una cartella di lavoro.

Esempio VBA di Excel: l'evento BeforeClose per una cartella di lavoro

Ecco un esempio della procedura del gestore eventi Excel VBA Workbook_BeforeClose, che viene eseguita automaticamente immediatamente prima della chiusura della cartella di lavoro. Questa procedura si trova nella finestra Codice per un oggetto ThisWorkbook:

Cartella di lavoro secondaria privata_BeforeClose (Annulla come booleano)
  Dim Msg As String
  Dim Ans quanto a lungo
  Dim FName As String
  Msg = "Vuoi fare un backup di questo file?"
  Risposta = MsgBox(Msg, vbSìNo)
  Se Ans = vbSì Allora
    FName = "F:\BACKUP\" & ThisWorkbook.Name
    ThisWorkbook.SaveCopyAs FName
  Finisci se
Fine sottotitolo

This routine uses a message box to ask the user whether he would like to make a backup copy of the workbook. If the answer is yes, the code uses the SaveCopyAs method to save a backup copy of the file on drive F. If you adapt this procedure for your own use, you need to change the drive and path.

Excel programmers often use a Workbook_BeforeClose procedure to clean up after themselves. For example, if you use a Workbook_Open procedure to change some settings when you open a workbook (hiding the status bar, for example), it’s only appropriate that you return the settings to their original state when you close the workbook. You can perform this electronic housekeeping with a Workbook_BeforeClose procedure.

Quando si utilizza l'evento Workbook_BeforeClose, tenere presente quanto segue: se si chiude Excel e qualsiasi file aperto è stato modificato dall'ultimo salvataggio, Excel mostra la consueta finestra di messaggio "Vuoi salvare le modifiche". Facendo clic sul pulsante Annulla si annulla l'intero processo di chiusura. Ma l'evento Workbook_BeforeClose sarà stato eseguito comunque.

Esempio VBA di Excel: l'evento BeforeSave per una cartella di lavoro

L'evento BeforeSave, come suggerisce il nome, viene attivato prima del salvataggio di una cartella di lavoro. Questo evento si verifica quando scegli File → Salva o File → Salva con nome.

La procedura seguente, inserita nella finestra Codice per un oggetto ThisWorkbook, illustra l'evento BeforeSave. La routine aggiorna il valore in una cella (cella A1 su Foglio1) ogni volta che viene salvata la cartella di lavoro. In altre parole, la cella A1 funge da contatore per tenere traccia del numero di volte in cui il file è stato salvato.

Cartella di lavoro secondaria privata_BeforeSave(ByVal SaveAsUI _
  come booleano, annulla come booleano)
  Contatore fioco come intervallo
  Imposta contatore = Fogli ("Foglio1"). Intervallo ("A1")
  Valore.Contatore = Valore.Contatore + 1
Fine sottotitolo

Si noti che la procedura Workbook_BeforeSave ha due argomenti: SaveAsUI e Cancel. Per dimostrare come funzionano questi argomenti, esaminare la seguente macro, che viene eseguita prima che si salvi la cartella di lavoro. Questa procedura tenta di impedire all'utente di salvare la cartella di lavoro con un nome diverso. Se l'utente sceglie File → Salva con nome, l'argomento SaveAsUI è True.

Quando il codice viene eseguito, controlla il valore SaveAsUI. Se questa variabile è True, la procedura visualizza un messaggio e imposta Annulla su True, annullando l'operazione di salvataggio.

Cartella di lavoro secondaria privata_BeforeSave(ByVal SaveAsUI _
  come booleano, annulla come booleano)
  Se SaveAsUI Then
    MsgBox "Non puoi salvare una copia di questa cartella di lavoro!"
  Annulla = Vero
  Finisci se
Fine sottotitolo

Nota che questa procedura non impedirà realmente a nessuno di salvare una copia con un nome diverso. Se qualcuno vuole davvero farlo, può semplicemente aprire la cartella di lavoro con le macro disabilitate. Quando le macro sono disabilitate, anche le procedure del gestore di eventi sono disabilitate, il che ha senso perché sono, dopo tutto, macro.


Smartsheet 9.1.1

Smartsheet 9.1.1

Smartsheet è una piattaforma di lavoro dinamica che ti consente di gestire progetti, creare flussi di lavoro e collaborare con il tuo team.

SharePoint

SharePoint

SharePoint è un sistema di collaborazione basato sul Web che utilizza una varietà di applicazioni per flussi di lavoro, database di "elenco" e altri componenti Web, nonché funzionalità di sicurezza per fornire controllo ai gruppi aziendali che lavorano insieme.

Calendario perpetuo 1.0.38/1.0.36

Calendario perpetuo 1.0.38/1.0.36

Van Nien Calendar è un'applicazione per la visualizzazione del calendario sul tuo telefono, che ti aiuta a vedere rapidamente la data lunisolare sul tuo telefono, organizzando così il tuo lavoro importante.

Microsoft Outlook 2021

Microsoft Outlook 2021

Microsoft Outlook è un'applicazione aziendale e di produttività sviluppata da Microsoft Corporation.

Fare clic su

Fare clic su

ClickUp è una delle piattaforme di produttività più apprezzate per qualsiasi azienda. Grandi aziende come Google, Booking.com, San Diego Padres e Uber utilizzano ClickUp per aumentare la produttività sul posto di lavoro.

Visualizzatore PDF-XChange 2.5.322.10

Visualizzatore PDF-XChange 2.5.322.10

Il PDF è diventato un formato comunemente utilizzato per leggere, creare e inviare documenti di testo. A sua volta, c'è stato un aumento del numero di programmi utilizzati per questo tipo di documentazione. PDF-XChange Viewer fa parte di un numero crescente di visualizzatori PDF.

Apache OpenOffice

Apache OpenOffice

Apache OpenOffice offre una suite completa di applicazioni Office che rivaleggiano con Microsoft 365, in particolare in Excel, PowerPoint e Word. Ti consente di gestire i tuoi progetti in modo più efficace e supporta diversi formati di file.

Scarica iTaxviewer 1.8.7

Scarica iTaxviewer 1.8.7

Il software iTaxViewer è il software di lettura di file XML più popolare oggi. Questo software è un'applicazione per la lettura delle dichiarazioni fiscali elettroniche in formato XML del Dipartimento Generale delle Imposte.

Lettore PDF Nitro

Lettore PDF Nitro

Nitro PDF Reader è un pratico editor PDF che copre tutte le attività di base che la maggior parte delle persone esegue ogni giorno con i documenti PDF.

Foxit Reader 12

Foxit Reader 12

Foxit Reader è principalmente un lettore PDF e consente anche di creare file PDF, firmarli, modificarli e aggiungere annotazioni. Funziona su sistemi operativi, ci sono plugin per vari programmi del pacchetto Microsoft Office.