Come iniziare con Excel VBA

August 11

Microsoft Excel è una potente applicazione con caratteristiche che vanno ben oltre la semplice progettazione foglio di calcolo. Forse avete goduto padroneggiare formule complesse e analisi dei dati, e si è pronti per una nuova sfida. Con Visual Basic, Applications Edition (VBA), è possibile potenziare Excel. È possibile iniziare a utilizzare immediatamente VBA, senza alcuna esperienza di programmazione necessaria.

istruzione

Registrare una macro

1 Se avete mai registrato una macro, si sta già utilizzando VBA. L'editor di Visual Basic traduce i tasti premuti in comandi VBA. Il codice risultante è inefficiente, ma può aiutare a ottenere familiarità con la sintassi ei comandi VBA.

2 In Excel, registrare una macro semplice. In Office XP, selezionare Macro, Registra nuova macro dal menu Strumenti. (In Excel 2007, i comandi sono sulla scheda Sviluppo.) Modificare il nome di macro o lasciare l'impostazione predefinita, e premere OK.

3 Con il registratore di macro in esecuzione, tipo "Ciao Mondo" nella cella A1. Applicare il grassetto, corsivo e sottolineato, e cambiare il colore del carattere di rosso. Fare doppio clic sul separatore di colonna nella riga di intestazione, tra le colonne A e B, per ridimensionare la larghezza della cella ai suoi contenuti.

4 Spegnere il registratore di macro da strumenti Selezione, Macro, Interrompi registrazione.

5 Testare la macro per assicurarsi che viene visualizzato il messaggio.

Esaminare codice registrato

6 Fai clic destro sulla scheda Sheet1 e selezionare Visualizza codice, oppure premere Alt-F11, per aprire l'editor di VB, e fare doppio clic sul modulo 1. Il codice di macro sarà simile a questo:

Sub Macro1 ()

ActiveCell.FormulaR1C1 = "Hello World"
Range("A1").Select
Selection.Font.Bold = True
Selection.Font.Italic = True
Selection.Font.Underline = xlUnderlineStyleSingle
Columns("A:A").EntireColumn.AutoFit
Selection.Font.ColorIndex = 3

End Sub

7 Si noti che la macro inizia con "Sub" e termina con "End Sub". Ogni subroutine VBA inizia e finisce in questo modo.

8 Trova parole chiave familiari. Dal momento che si sa che cosa questa macro fa, si può capire che "Selection.Font.Bold = True" modifica la selezione di carattere in grassetto. È anche possibile riconoscere i comandi per ridimensionare la colonna e cambiare il colore.

9 Torna Excel e provare a registrare un paio di semplici macro, ogni volta esaminando il codice nell'editor di VB.

Impostare l'editor di VB

10 Avviare l'editor di VB premendo Alt-F11.

11 Clicca su ogni voce di menu nella parte superiore per familiarizzare con le opzioni disponibili.

12 Impostare l'ambiente con le opzioni dal menu Visualizza. Come minimo, aggiungere la finestra Proprietà e l'Explorer Progetti. È possibile attraccare al lato sinistro dello schermo cliccando col tasto destro e selezionando "Dockable."

13 Prova la funzione Guida sensibile al contesto in qualsiasi momento premendo il tasto F1.

Progetta modulo

14 Dal menu Inserisci, selezionare Inserisci form. Il form è la tela progettazione.

15 Se il form non pop-up, andare al redattore del progetto e fare doppio clic su "forme", quindi fare doppio clic su UserForm1.

16 Quando viene visualizzato il form, si vedrà anche la casella degli strumenti, che contiene i controlli si intende utilizzare nella creazione di forme. Per esempio, è possibile includere pulsanti, caselle di testo, menu a discesa e le etichette. Passa con il cursore su ciascuna per visualizzare i nomi.

17 Aggiungere alcuni controlli al form. Per aggiungere una casella di testo, trovare nella casella degli strumenti, cliccare su di esso, quindi spostare il cursore al form utente e disegnare un rettangolo sul modulo. Vedrete una forma che assomiglia a una finestra. Questo è dove l'utente entrerà il suo ingresso.

18 Mettere più controlli sul form. Esperimento con il ridimensionamento e riorganizzare. Per alcuni controlli di lavorare, hanno bisogno di essere programmato. Per esempio, un tasto "OK" necessita una sequenza di azioni associato. Altri controlli, come le etichette, di solito hanno bisogno di poca, se del caso, la programmazione.

Programmare una finestra di messaggio

19 Il "MsgBox" è preimpostato; non sarà necessario per la progettazione di un modulo. Ma avrete bisogno di un po 'di codice. È possibile programmare "Sì", "No", "OK" e "Annulla" pulsanti, configurare il prompt, e altro ancora.

20 Questa finestra di messaggio avviserà l'utente che il file si chiude senza salvare quando si fa clic su "Sì". Se lei fa clic su "No", il file salverà prima della chiusura. Se lei seleziona "Annulla", il file non si chiude.

21 Avviare l'editor di VB. Dal menu Inserisci, inserire un modulo; poi, in Esplora il progetto, fare doppio clic sul nuovo modulo. Una finestra del codice si aprirà.

22 Digitare il seguente routine. (Non digitare il testo nelle parentesi che seguono.)
Sub MsgBoxTest () [Subroutine iniziano sempre con sub e finisce con End Sub]
myTitle = "Attenzione" [Assegna un valore a "myTitle." Quando si utilizza "myTitle" più avanti, è lo stesso che digitando "Avvertimento".]
myMsg = "Chiudi senza salvare? andranno perse tutte le modifiche." [Assegna un valore a "myMsg."]
Risposta = MsgBox (myMsg, vbExclamation + vbYesNoCancel, myTitle) [Definisce la finestra di messaggio. Conterrà "myMsg", un punto esclamativo di avvertimento, e Yes, No e Annulla pulsanti e la barra del titolo sarà "Attenzione", perché questo è il valore di "myTitle."]
Selezionare il caso di risposta [Select Case assegna azioni a varie opzioni.]

Case Is = vbYes [If the user clicks Yes]
ActiveWorkbook.Close SaveChanges:=False [Close without saving.]
Case Is = vbNo [If the user clicks No]
ActiveWorkbook.Close SaveChanges:=True [Save and close.]
Case Is = vbCancel [If the user clicks Cancel]
Exit Sub [Exit the subroutine. Don't do anything.]

End Select [Questo termina l'istruzione Select Case.]
End Sub [Termina la subroutine]

23 Selezionare Run, Run Sub / Form utente dal menu. Viene visualizzato il messaggio di dialogo; ora avete scritto con successo una routine VBA funzionante.

Consigli e avvertenze

  • Se il programma non viene eseguito, potrebbe essere necessario regolare le impostazioni di sicurezza. In Excel 2007, nella scheda Sviluppatore, selezionare Protezione Macro, quindi scegliere Impostazioni macro. Seleziona la casella accanto a "attendibile l'accesso al modello a oggetti dei progetti VBA," e fare clic su OK. Se si utilizza Office XP, selezionare Strumenti, Macro, di sicurezza; quindi, nella finestra di popup, fare clic sulla scheda Fonti attendibili. Mettere un segno di spunta accanto a "attendibile l'accesso al progetto Visual Basic," e fare clic su OK.