Come selezionare correttamente gli oggetti in un foglio di lavoro di Excel. Oggetti Excel di base. Modello a oggetti di Excel

Come selezionare correttamente gli oggetti in un foglio di lavoro di Excel. Oggetti Excel di base. Modello a oggetti di Excel

Un programmatore Excel dovrebbe essere fluente nel mondo dei suoi oggetti. Il potere della programmazione per ufficio è determinato dal fatto che inizialmente un programmatore ha a disposizione un gran numero di oggetti già pronti. Per sfruttare al meglio le opportunità offerte, è necessario conoscere gli oggetti.

Un buon punto di partenza per la nostra conversazione sugli oggetti Excel è guardare lo scheletro di un documento Excel. Ho scritto molto sull'importante concetto di wireframe di documenti nei libri precedenti. Le numerose librerie di oggetti di Office 2000, che collettivamente rappresentano Office 2000 per il programmatore, forniscono una struttura per tutti i documenti che possono essere creati in questo ambiente. Quando viene creato un nuovo documento, ad esempio una cartella di lavoro di Excel, per impostazione predefinita vengono selezionate diverse librerie dall'intero insieme di librerie, i cui oggetti costituiscono lo scheletro del documento. Questi oggetti sono disponibili per il programmatore senza alcuno sforzo aggiuntivo. Naturalmente, gli oggetti nella libreria di Excel svolgono un ruolo centrale nel framework dei documenti di Excel. Ma è necessaria anche la conoscenza di tutti gli altri oggetti inclusi nel framework. Ad esempio, se si crea un'interfaccia a livello di codice, è necessario conoscere gli oggetti comuni nella libreria di Office. Prendo inoltre atto che, se lo si desidera, il programmatore può sempre espandere il framework del documento aggiungendovi determinate librerie. Il wireframe, che viene creato per impostazione predefinita all'apertura di una nuova cartella di lavoro, è costituito da oggetti che fanno parte delle seguenti librerie:

  • Eccellere- una libreria che pone le basi per i documenti Excel. È qui che vengono archiviate la classe che definisce l'oggetto Excel.Application radice e tutte le classi di oggetti nidificate all'interno dell'oggetto radice.
  • Ufficio- una libreria di oggetti comune a tutte le applicazioni di Office 2000. Qui si trovano le classi che definiscono le barre degli strumenti - CommandBars e classi di altri oggetti comuni -. Contiene anche le classi che definiscono l'Assistente (l'oggetto Assistente e tutte le classi ad esso associate). In particolare, è apparso un nuovo oggetto che non era nella versione precedente: la Ricerca libera.
  • Stdole- una libreria di classi che consente di lavorare con OLE - oggetti e implementare l'automazione.
  • VBA- una libreria di classi relative al linguaggio VBA. È qui che vengono archiviate tutte le funzioni standard e le costanti integrate nel linguaggio, le classi Collection ed ErrObject.
  • Progetto VBA- il progetto predefinito associato al documento. Le classi che un programmatore può creare in questo progetto, i metodi, le proprietà - tutto questo è disponibile per la visualizzazione, proprio come gli oggetti delle classi integrate nelle librerie standard.

Se confrontiamo lo scheletro di una cartella di lavoro di Excel, ad esempio, con lo scheletro di un documento di Word, differiscono in quanto uno si basa sulla libreria di Excel e l'altro si basa sulla libreria di Word. Queste librerie contengono oggetti specifici dell'applicazione. Per quanto riguarda gli oggetti dell'interfaccia, qui vengono utilizzati gli oggetti che definiscono l'ambiente dell'editor VBA, l'automazione, quindi gli oggetti comuni. Le librerie di Office, Stdole, VBA sono librerie comuni a tutte le applicazioni di Office 2000. Ho parlato degli oggetti di queste librerie in dettaglio in.

Si noti che sebbene lo scheletro del documento Excel non sia cambiato in Office 2000 rispetto alla versione precedente, allo stesso tempo sono state apportate modifiche piuttosto significative al modello a oggetti, sono comparsi nuovi oggetti, nuove proprietà e metodi di oggetti preesistenti.

Modello a oggetti di Excel

Prima di tutto, qualche parola su come modello a oggetti Excel e altre applicazioni di Office 2000. In questo modello, gli oggetti sono collegati da una relazione di incorporamento. Al livello zero della gerarchia, c'è un oggetto centrale in cui sono incorporati altri oggetti che costituiscono il primo livello della gerarchia. Gli oggetti del livello successivo possono essere incorporati in ciascuno degli oggetti del primo livello e di quelli successivi. Quindi questo processo continua. Pertanto, gli oggetti in questo modello sono "spessi" perché molti altri oggetti sono incorporati in essi. Ciò è particolarmente vero per gli oggetti ai livelli più alti della gerarchia.

Formalmente, l'incorporamento viene implementato utilizzando le proprietà dell'oggetto. Le proprietà possono essere sia terminali, non oggetti, sia cosiddette proprietà membro che restituiscono oggetti quando vengono chiamati.

Passiamo alla Libreria oggetti di Excel 9.0 e iniziamo con l'oggetto centrale della libreria, Excel.Application.

Oggetto applicazione Excel

L'oggetto Excel.Application specifica l'applicazione Excel. Pertanto, le proprietà, i metodi e gli eventi di questo oggetto dovrebbero caratterizzare l'applicazione nel suo insieme. Comprensibilmente, questo oggetto deve avere una proprietà Workbooks che restituisce tutte le cartelle di lavoro aperte nell'applicazione, una proprietà Windows che restituisce le finestre aperte, proprietà come CommandBars che restituiscono oggetti dell'interfaccia e altre proprietà simili. Apparentemente non ci sono così tanti metodi ed eventi tipici per l'intera applicazione nel suo insieme. Quindi sembrerebbe che la struttura di questo oggetto dovrebbe essere abbastanza semplice. Tuttavia, in realtà non è così: l'oggetto Excel.Application ha un numero molto elevato di proprietà, metodi ed eventi, che non mi consente di descriverli completamente e non ha un senso speciale in questo. L'oggetto Excel.Application, a mio avviso, è chiaramente sovraccarico, molte delle sue proprietà e metodi potrebbero essere esclusi senza alcun danno, poiché operano con oggetti ai livelli inferiori della gerarchia e non sono direttamente correlati all'intera applicazione nel suo insieme . Farò solo un esempio. La prima proprietà in ordine alfabetico, ActiveCell, restituisce un oggetto che specifica la cella attiva. È chiaro che stiamo parlando della cella attiva della pagina attiva della cartella di lavoro attiva. Non è chiaro solo il motivo per cui è stato necessario aggiungere questa proprietà all'applicazione stessa. È sufficiente che l'oggetto WorkSheet che definisce la pagina del libro lo abbia. Inoltre, se al momento della chiamata alla proprietà ActiveCell non è presente una pagina attiva con celle, si verificherà un errore, che non si verifica se l'oggetto WorkSheet chiama la cella attiva. Esistono molti esempi di tale sovraccarico dell'oggetto Application. Nella mia descrizione degli oggetti di primo livello, non menzionerò sempre tali proprietà, ritenendo che sia meglio parlarne dove sono essenzialmente necessarie.

Oggetti condivisi ed Excel.Application

Iniziamo osservando le proprietà dell'oggetto Excel.Application, che restituiscono gli oggetti comuni che già conosciamo:

Tabella 3.1. Oggetti comuni disponibili in Excel.Application
Scopo dell'oggetto Biblioteca
Assistente Un assistente che ti permette di organizzare il tuo sistema di dialogo. Ufficio
Risposta guidata Il Maestro delle Risposte, in piedi dietro la schiena dell'Aiutante. Può essere utilizzato per creare il proprio sistema di guida. Ufficio
Com AddIns Una raccolta di funzionalità comuni alle applicazioni di Office 2000. Ufficio
CommandBars Una raccolta di dashboard con cui è necessario lavorare durante la creazione della propria interfaccia per documenti Excel. Ufficio
Ricerca file L'oggetto da utilizzare durante la ricerca di file. Ufficio
Impostazioni della lingua Un oggetto che specifica le preferenze della lingua comuni alle applicazioni di Office 2000. Ufficio
Debug Un oggetto utilizzato durante il debug di progetti software. VBA
VBE Oggetto root quando si lavora con progetti software. VBA

Tutti gli oggetti in questa tabella svolgono un ruolo importante nel lavoro a livello di codice con i documenti Excel, come del resto con altri documenti di Office 2000.

Proprietà - membri di un oggetto

Diamo ora un'occhiata alle proprietà dei membri dell'oggetto Excel.Application che restituiscono oggetti specifici di Excel.Come ho avvertito, tratterò solo le proprietà di base che sono realmente necessarie quando si lavora con l'oggetto Excel.Application.

Tabella 3.2. Proprietà di base - partecipanti
Proprietà che restituisce un oggetto Scopo dell'oggetto
Libri di lavoro Una raccolta di documenti aperti in Excel - cartelle di lavoro. L'oggetto principale, grazie al quale è possibile accedere a qualsiasi documento Excel e quindi lavorare con gli oggetti di questa cartella di lavoro.
finestre Una raccolta di finestre aperte in tutte le cartelle di lavoro. Il fatto è che spesso è utile aprire la stessa cartella di lavoro in più finestre, il che consente di vedere parti diverse della cartella di lavoro. La raccolta di Windows ti consente di accedere a ciascuna di queste finestre. Molto spesso, la proprietà Windows viene utilizzata quando si lavora con l'oggetto WorkBook; per l'oggetto Application, questo è uno degli esempi dell'overload che ho menzionato sopra.
Funzione Foglio di lavoro Un oggetto è un contenitore che contiene numerose funzioni di Excel, che vanno dalle normali funzioni matematiche alle funzioni utilizzate per risolvere problemi di statistica, previsione, lavoro con le date e altro.
Componenti aggiuntivi Una raccolta di componenti che migliorano le capacità di risoluzione di problemi speciali in Excel.
Correzione automatica Un oggetto familiare dall'applicazione Word che consente di impostare la correzione automatica del testo digitato nelle celle di Excel.
Opzioni Web predefinite Un oggetto che consente di impostare le opzioni per i documenti Excel salvati come pagine Web. Simile all'oggetto Word.Application simile, ma con le sue specifiche.
Dialoghi L'oggetto Dialogs, come i tre oggetti precedenti - AddIns, Correzione automatica, Opzioni Web predefinite si riferisce a un gruppo di oggetti simili trovati in ciascuna delle applicazioni di Office 2000, che hanno molto in comune, ma presentano anche alcune differenze relative alle specifiche dell'applicazione. Come in Word, l'oggetto Dialoghi definisce una raccolta di finestre di dialogo standard che Excel può aprire, consentendo di organizzare un dialogo con l'utente.
Nomi Una delle proprietà sovraccaricate che restituisce una raccolta di tutti i nomi usati per singole celle e aree in tutti i documenti Excel aperti. Nella maggior parte dei casi, questa proprietà viene utilizzata quando si lavora con una singola cartella di lavoro o una singola pagina.
Errori ODBCE Una raccolta di oggetti della classe ODBCError. I membri di questa raccolta vengono generati automaticamente dall'origine dati ODBC se si verificano errori durante l'esecuzione di una richiesta di recupero dati. Se non ci sono errori, anche la raccolta sarà vuota.
OLEDBerrori Una raccolta di oggetti OLEDBError. Analogamente alla raccolta precedente, i suoi elementi vengono visualizzati quando si verificano errori durante il lavoro con il database quando viene utilizzata l'interfaccia OLE DB.
File recenti Un oggetto che appartiene a un gruppo di oggetti simili della famiglia Office 2000. Specifica la raccolta di file in cui sono archiviati i documenti Excel utilizzati più di recente.

Il contenuto principale di questo capitolo sarà correlato all'esame della collezione Workbooks, in particolare dell'oggetto Workbook e dei suoi oggetti nidificati. Ma prima di andare avanti, ti darò lo stesso breve recensione quegli oggetti annidati in Excel.Applicazione disponibile a questo livello, infatti, appartenente ai livelli inferiori della gerarchia del modello a oggetti di Excel:

  • Un gruppo di oggetti attivi - ActiveWorkbook, ActiveWindow, ActiveSheet, ActiveChart, ActiveCell, ActivePrinter, - restituendo la cartella di lavoro attiva, la finestra, la pagina di lavoro attiva, il grafico o la cella, se presenti al momento della chiamata della proprietà corrispondente. Se l'oggetto attivo richiesto non esiste, si verificherà un errore. Tutti questi oggetti verranno discussi in dettaglio, ma un po' più avanti, quando scendiamo nella gerarchia degli oggetti. La proprietà che restituisce la stampante attiva si distingue. Ha davvero senso associare questa proprietà all'applicazione. Si noti che gli oggetti ai livelli inferiori della gerarchia, ad esempio Cartella di lavoro, non dispongono di questa proprietà, quindi è possibile accedere alla stampante solo tramite l'oggetto Applicazione.
  • Un gruppo di raccolte e oggetti Range che fanno parte dell'oggetto attivo corrispondente - Fogli, Grafici, Righe, Colonne, Celle, Intervallo- restituire rispettivamente raccolte di pagine di lavoro, pagine grafici di attivo cartella di lavoro, un oggetto Intervallo contenente tutte le righe, colonne, celle o un'area specificata della pagina di lavoro attiva. Come per la chiamata di oggetti del gruppo precedente, prestare attenzione quando si chiamano queste proprietà, poiché si verifica un errore se non è presente alcun oggetto attivo corrispondente.
  • La proprietà Selezione restituisce l'oggetto selezionato nella finestra attiva. Il tipo di oggetto restituito dipende dalla selezione corrente. Restituisce Nothing se non è presente alcun oggetto selezionato nella finestra attiva.
  • La proprietà ThisWorkbook restituisce la cartella di lavoro corrente contenente la macro in esecuzione, una delle cui istruzioni ha chiamato questa proprietà. Questa proprietà rappresenta l'unico modo per accedere alla cartella di lavoro contenente il componente aggiuntivo dall'interno delle macro che compongono tale componente.

Proprietà del terminale

Esistono molte proprietà del terminale ed è chiaro il motivo. Excel, come altre applicazioni di Office 2000, è configurabile dall'utente. Questa impostazione può essere eseguita manualmente o a livello di codice. Configurazione manuale per la maggior parte effettuata dal menù Servizio | Opzioni utilizzando le opzioni fornite dalle varie schede nella finestra delle opzioni che si apre. Le proprietà del terminale vengono utilizzate per la configurazione programmatica: questo è il loro scopo principale. Naturalmente, non mi soffermerò su tutte le proprietà: sono semplici. La panoramica seguente fornisce una descrizione selettiva di alcuni gruppi di proprietà del terminale:

  • Il gruppo di proprietà che imposta le proprietà dell'applicazione predefinite - DefaultFilePath, DefaultSaveFormat, DefaultSheetDirection, - percorso predefinito, formato predefinito, direzione di visualizzazione del testo (da sinistra a destra o da destra a sinistra), impostato per alcune lingue. Anche la proprietà DefaultWebOptions menzionata in precedenza è adiacente a queste proprietà.
  • Un gruppo di proprietà booleane che consentono di abilitare o disabilitare la visualizzazione di determinati elementi dell'applicazione sullo schermo - DisplayAlerts, DisplayCommentIndicator, DisplayFormulaBar, DisplayStatusBar e altre proprietà di visualizzazione. La prima di queste proprietà consente di controllare la visualizzazione di alcuni messaggi durante il funzionamento delle macro, la seconda di visualizzare un indicatore speciale durante la visualizzazione dei commenti. Più spesso, è necessario utilizzare il controllo sulla visualizzazione della formula e delle barre di stato. Queste proprietà sono particolarmente utili quando il documento Excel viene utilizzato per scopi speciali, ad esempio durante la visualizzazione di vari moduli, quando aspetto esteriore il documento non è per niente come un foglio di calcolo familiare. Si noti che la proprietà DisplayGridLines utilizzata in questi casi per disabilitare la griglia appartiene all'oggetto Windows, non all'oggetto Application.
  • Un gruppo di proprietà booleane che consentono di abilitare o disabilitare determinate proprietà - EnableAnimations, EnableAutoComplete, EnableCancelKey, EnableEvents, EnableSound... La prima di queste proprietà ti consente di controllare l'animazione quando aggiungi o rimuovi righe e colonne del foglio di lavoro, la seconda - celle di tabella con completamento automatico. La proprietà EnableCancelKey non è un valore booleano, accetta i valori specificati dall'enumerazione corrispondente e consente di controllare il processo di interruzione del programma quando si preme la combinazione di tasti Ctrl + Break. Il valore predefinito xlInterrupt consente di interrompere l'esecuzione della macro e passare alla modalità di debug, in cui è possibile l'esecuzione passo passo. Tuttavia, utilizzando questa proprietà è possibile impostare modalità diverse, ad esempio il trasferimento del controllo a un gestore degli errori al momento dell'interruzione. Questa proprietà deve essere utilizzata con cautela, poiché durante il ciclo può verificarsi una situazione in cui non sarà possibile interrompere il programma senza utilizzare metodi grezzi. La proprietà EnableEvents controlla l'abilitazione degli eventi nell'oggetto Application e la proprietà EnableSound controlla se il suono è abilitato quando le applicazioni di Office 2000 sono in esecuzione.
  • Un gruppo di proprietà che controllano le dimensioni della finestra principale dell'applicazione Excel - Altezza, Larghezza, Sinistra, Superiore, impostando l'altezza, la larghezza della finestra e le coordinate dell'angolo superiore sinistro della finestra.
  • Molte altre proprietà che consentono di controllare in un modo o nell'altro il cursore, lo scorrimento, le caratteristiche dell'utente e molti altri parametri che caratterizzano Excel.

Metodi dell'oggetto dell'applicazione

L'oggetto Excel.Application ha meno metodi rispetto alle proprietà, ma ne esistono una cinquantina. Diamo una breve panoramica, ancora, raggruppandoli, se possibile, in gruppi:

Public Sub RepeatAndUndo () "Crea elementi Redo e Undo nel menu Modifica Call Application.OnRepeat (" Hello "," Test ") Call Application.OnUndo (" 7 to A1 "," Write7 ") End Sub Public Sub Test () MsgBox ("Ciao!") End Sub Public Sub Write7 () Intervallo ("A1") = 7 End Sub

La procedura RepeatAndUndo crea le voci di menu Modifica corrispondenti e le procedure Test e Write7 verranno chiamate quando l'utente seleziona queste voci di menu. Nota che non vedo davvero molti vantaggi dall'uso di questi metodi, poiché qualsiasi azione dell'utente aggiornerà queste voci di menu.

  • I metodi Ripeti e Annulla sono simili nello spirito ai metodi appena discussi. Consentono di ripetere o annullare l'ultima azione dell'utente mentre si lavora manualmente.
  • Un altro metodo importante che consente di eseguire una macro per l'esecuzione è il metodo Run (Macro, Arg1, Arg2, ...). Il metodo Run consente di eseguire una macro (procedura o funzione) di un progetto di cartella di lavoro o una funzione da una DLL o XLL. La macro eseguita per l'esecuzione può trovarsi nella stessa cartella di lavoro della macro che ha chiamato Esegui, ma può anche appartenere a una cartella di lavoro diversa. In questo caso, ovviamente, i progetti devono essere collegati per riferimento, e nel progetto che richiama la macro di un altro progetto, deve essere impostato il collegamento al progetto chiamato. Quando si chiama una macro, è possibile passare un numero arbitrario di argomenti, tutti vengono passati per valore, quindi, attenzione, non è possibile passare l'oggetto stesso alla macro, ma solo il suo valore specificato dalla proprietà Value. Il metodo Run, a sua volta, restituisce un valore che è il risultato dell'esecuzione della macro. Ecco un semplice esempio che mostra tutte le funzionalità della chiamata del metodo Run:

Ho chiamato il progetto del documento BookOne BookOneProject. In questo progetto viene dichiarata una variabile globale

Opzione GlobalZ pubblica esplicita come variante

Nel modulo denominato ModuleOne di questo progetto, ho inserito la descrizione della procedura PlusXY e della funzione Plus1. Eseguono azioni semplici e comprensibili senza commenti.

Funzione pubblica Plus1 (ByVal X As Integer) As Integer Plus1 = X + 1 End Function Public Sub PlusXY (ByVal X As Integer, Y As Integer) GlobalZ = X + Y End Sub

Lo stesso modulo contiene la procedura testrun, che mostra le chiamate al metodo Run.

Public Sub testrun() "Esegui per l'esecuzione di una funzione e di una procedura" che si trova nello stesso progetto Dim z As Integer z = Application.Run ("Plus1", 7) Debug.Print "z =", zz = Application.Run ( " PlusXY ", 5, 7) Debug.Print" GlobalZ = ", GlobalZ," z = ", z End Sub

Ecco i risultati della sua esecuzione:

z = 8 GlobalZ = 12 z = 0

Nel progetto di un'altra cartella di lavoro di Excel denominata BookTwo, ho impostato un collegamento al progetto BookOneProject e ho inserito la procedura testrun1 in uno dei moduli, che chiama le macro del progetto BookOneProject:

Public Sub testrun1 () "Inizia a eseguire una funzione e una procedura" che si trova in un altro progetto BookOneProject, "a cui è impostato il collegamento. Dim z As Integer z = Application.Run (" BookOneProject.Module1.plus1 ", 7) MsgBox ( " z = "& z) Chiama Application.Run (" BookOneProject.Module1.plusXY ", 5, 7) MsgBox (" GlobalZ = "& BookOneProject.GlobalZ) End Sub

E in questa versione, il metodo Run riesce a far fronte con successo alla chiamata di macro da un altro progetto. Naturalmente, in questo esempio, invece di utilizzare il metodo Run, è possibile chiamare direttamente la stessa funzione Plus1. Ma spero che tu capisca che il vero valore del metodo Run è che il nome della macro da eseguire può essere passato ad esso come parametro, in modo che possa eseguire macro diverse a seconda della situazione. Ma finiamo con un esempio e torniamo a guardare altri metodi dell'oggetto Excel.Application.

  • Il metodo Goto (,), senza eseguire la macro, consente di passare all'esame della stessa. Un altro, forse lo scopo principale del metodo è andare a un determinato punto nella cartella di lavoro di Excel. Per passare all'esame di una macro, il parametro Reference deve essere una stringa che specifica il nome della macro. Per navigare nell'area specificata del documento, il parametro Riferimento è impostato dall'oggetto Intervallo. Il parametro Scroll Boolean impostato su true scorre l'area in modo che il punto specificato si trovi nell'angolo superiore sinistro della finestra. La cosa principale a cui prestare attenzione è che il metodo Goto ti consente di navigare tra i documenti. Ecco un esempio di macro del documento BookTwo che navigano rispettivamente nell'area specificata e nella macro nel documento BookOne.

    Public Sub GotoRange () "Salta a un'area specificata di un altro documento Application.Goto Workbooks (" BookOne.xls "). Fogli di lavoro (" Sheet1 "). Intervallo (" A20 "), True End Sub Public Sub GotoMacro () " Passa a una macro specificata in un altro progetto Application.Goto "BookOneProject.Module1.testrun" End Sub

  • Metodo Opzioni Macro (,,,,,,,,,,)è un altro metodo correlato alla macro. Consente di impostare varie caratteristiche per la macro specificata dal primo parametro: descrizione, tasti di scelta rapida, argomento della guida associato a questa macro e altre proprietà.
  • Metodo RecordMacro (,)- progettato anche per funzionare con le macro. Consente di aggiungere del codice di programma alla macro generata dallo strumento MacroRecorder. Al momento della chiamata del metodo MacroRecorder la macro deve essere abilitata e la macro deve essere scritta sul modulo che non è attivo, in altre parole non è possibile scrivere sul modulo la cui macro ha chiamato il metodo RecordMacro.
  • Il metodo Wait (Time) As Boolean è l'ultimo metodo che descrivo sull'oggetto Excel.Application, che fa parte di un ampio gruppo di metodi per lavorare con le macro. Consente di ritardare i calcoli per un tempo specificato specificato dal parametro del metodo. L'esempio seguente utilizza un metodo per aprire e mostrare un modulo all'utente e quindi chiuderlo dopo un determinato tempo. Questa tecnica può essere utilizzata nei giochi in cui lo scopo è testare l'attenzione. Ecco il testo della macro corrispondente:

    Public Sub WaitSomeTime () "Apre il modulo per un tempo limitato MsgBox (" Il modulo verrà mostrato per 10 secondi! ") FlyForm.Show Application.Wait (Now + TimeValue (" 0:00:10 ")) FlyForm.Hide Fine Sub

Dai un'occhiata a come appare il modulo stesso.


Riso. 3.1. FlyForm, apri un attimo

Ecco un disegno di questo modulo solo per chiarire lo scopo di questo esempio. Ho ipotizzato che all'apertura del modulo, l'utente dovrebbe avere il tempo di inserire due numeri nei campi X e Y nell'ora a lui assegnata, premere il pulsante che esegue i calcoli e ricordare il risultato. Tuttavia, le mie intenzioni non si sono avverate, e per i seguenti motivi. Se il modulo ha lo stato di un modulo modale, l'esecuzione della macro viene sospesa finché l'utente non chiude il modulo. Quindi, in questo caso, l'utente non ha limiti di tempo per lavorare con il modulo. Io ho capito quello. Se il modulo ha lo stato di un modulo non modale (proprietà ShowModal = False), il modulo verrà effettivamente aperto entro 10 secondi. Ma in questo caso, l'utente non sarà in grado di lavorare con questo modulo, inserire valori nei campi di input e premere il pulsante di comando. La cosa peggiore è che quando provi a inserire valori nei campi del modulo, cadranno effettivamente in una posizione arbitraria nel testo del programma e rovineranno il progetto stesso. Quindi devi stare attento in questa situazione.

  • Metodo Aiuto (,) permette di richiamare la guida di aiuto, specificando, se necessario, la sezione corrispondente in questa guida. Può essere chiamato come un sistema di aiuto standard - in questo caso non è necessario specificare argomenti quando si chiama il metodo o, più spesso, il proprio sistema di aiuto. Il primo parametro del metodo specifica il nome del file che memorizza il manuale di riferimento. Questo file potrebbe avere il qualificatore "chm" se il manuale è stato preparato utilizzando il toolkit HTML Help Workshop oppure potrebbe avere il qualificatore "htm" se il sistema della Guida è stato creato utilizzando il toolkit Microsoft WinHelp.
  • Metodi Interseca (Arg1 come intervallo, Arg2 come intervallo, ...) Come intervallo e Unione (Arg1 come intervallo, Arg2 come intervallo, ...) come intervallo restituisce come risultato un oggetto Range, specificando una regione rettangolare che rappresenta, rispettivamente, l'intersezione o l'unione delle regioni argomento, che deve essere almeno due e al massimo 30.
  • Il metodo InputBox è sostanzialmente equivalente alla funzione omonima della libreria VBA e permette di organizzare un dialogo con l'utente e accettare il valore da lui inserito. La funzione InputBox è una delle funzioni più utilizzate e ci sono molti esempi della sua chiamata. Non puoi farne a meno negli esempi in questo libro. Se chiamare il metodo InputBox dell'oggetto Application o la funzione InputBox della libreria VBA è una questione di gusti.
  • Il metodo Volatile() consente di abilitare o disabilitare la valutazione forzata per le funzioni richiamate nelle formule del foglio di lavoro. Il metodo viene chiamato direttamente nella funzione da taggare. Il parametro booleano Volatile contrassegna la funzione come forzata se è vera. Questo valore è il valore predefinito per il parametro.

Ho coperto la maggior parte dei metodi dell'oggetto Application. Si noti che nella versione precedente c'erano molti più di questi metodi, poiché molte funzioni di Excel - matematica e altre - erano disponibili a questo livello. Ora, come previsto, sono tutti in un contenitore speciale, WorkSheetFunction.

Frizen Irina Grigorievna - candidata di scienze pedagogiche, insegnante di tecnologia dell'informazione, autrice di numerose opere nel campo della tecnologia dell'informazione.

Questa guida allo studio è stata scritta in conformità con il programma statale per lo studio della disciplina per gli istituti di istruzione secondaria specializzata nella specialità 230103 "Sistemi automatizzati di elaborazione e controllo delle informazioni".

Programmazione d'ufficio

Il manuale fornisce materiale sufficiente per la formazione pratica nella disciplina, nonché il materiale teorico di base necessario per lo studio di una particolare questione. Sulla base del materiale proposto, puoi costruire tipi diversi classi.

Il libro di testo mira ad aiutare gli studenti a studiare questa disciplina in modo completo, soddisfacendo i requisiti dello standard statale per la disciplina.

È destinato a insegnanti e studenti di istituti di istruzione secondaria specializzata e può essere utilizzato anche da studenti di istituti di istruzione superiore che studiano questa disciplina.

V Guida allo studio vengono considerati più di 60 problemi, corredati da 130 cifre e spiegazioni dettagliate.

Libro:

Sezioni in questa pagina:

Utilizzo di oggetti di intervallo e selezione

In Excel, il più importante è l'oggetto Applicazione. L'oggetto Applicazione è l'oggetto principale della gerarchia di oggetti di Excel e rappresenta l'applicazione Excel stessa. Ha oltre 120 proprietà e 40 metodi. Queste proprietà e metodi servono per impostare le impostazioni generali per l'applicazione Excel. Nella gerarchia di Excel, l'oggetto Cartella di lavoro viene immediatamente dopo l'oggetto Applicazione e rappresenta il file della cartella di lavoro. La cartella di lavoro viene archiviata in file XLS (cartella di lavoro standard) o XLA (applicazione completamente compilata). Le proprietà ei metodi della cartella di lavoro consentono di lavorare con i file. Tuttavia, il più "usato" in pratica è l'oggetto Range, che rispecchia al meglio le possibilità di utilizzo di VBA in Excel (per le proprietà dell'oggetto Range si veda la Tabella 19, per i metodi - Tabella 20).

In una gerarchia di Excel, un oggetto Gamma(intervallo) viene immediatamente dopo l'oggetto foglio di lavoro. Un oggetto Gammaè uno degli oggetti chiave di VBA. L'oggetto di selezione viene visualizzato in VBA in due modi: come risultato del metodo Select o quando viene chiamata la proprietà di selezione. Il tipo di oggetto recuperato dipende dal tipo di oggetto selezionato. Molto spesso, l'oggetto Selection appartiene alla classe Range ed è possibile utilizzare le proprietà ei metodi dell'oggetto Range quando si lavora con esso. Una caratteristica interessante Gli oggetti Intervallo e Selezione è che non sono membri di alcuna famiglia di oggetti.

Quando si lavora con un oggetto Intervallo, tenere presente come Excel fa riferimento a una cella in un foglio di lavoro.

Specificare gruppi di righe e colonne utilizzando un oggetto intervallo

Se un intervallo contiene solo nomi di colonne o righe, l'oggetto Intervallo specifica un intervallo costituito dalle colonne o dalle righe specificate. Ad esempio, Intervallo ("a: c") specifica un intervallo dalle colonne a, b e c e Intervallo ("2: 2") dalla seconda riga. Un altro modo per lavorare con righe e colonne sono i metodi Righe e colonne, che restituiscono raccolte di righe e colonne. Ad esempio, la colonna a è colonne (1) e la seconda riga è righe (2).

Relazione tra l'oggetto intervallo e le proprietà delle celle

Poiché una cella è un caso speciale di un intervallo che contiene solo una singola cella, l'oggetto Intervallo consente anche di lavorarci. L'oggetto Celle è un modo alternativo per lavorare con una cella. Ad esempio, la cella A2 come oggetto è descritta da Intervallo ("A2") o Celle (l, 2). A sua volta, l'oggetto cellule, annidato in Intervallo, consente anche di scrivere l'intervallo in una forma alternativa, che a volte è conveniente per il lavoro, ovvero Intervallo ("A2: C3") e Intervallo (Cells (1,2), Cells (3,3 )) definiscono lo stesso intervallo.

Tabella 19

Proprietà dell'oggetto intervallo




Metodi dell'oggetto intervallo



Intervallo di metodi dell'oggetto utilizzando i comandi di Excel

I comandi e i metodi integrati in Excel consentono di lavorare in modo efficiente con un intervallo: riempirlo di elementi in base a un campione, ordinare, filtrare e consolidare i dati, costruire tabella riassuntiva e creare scenari, risolvere un'equazione non lineare in una variabile.

Metodo di riempimento automatico

Il metodo di riempimento automatico riempie automaticamente le celle in un intervallo con elementi della sequenza. Il metodo AutoFill differisce dal metodo DataSeries in quanto l'intervallo in cui si troverà la progressione è specificato in modo esplicito. Manualmente, questo metodo equivale a posizionare il puntatore del mouse sopra il quadratino di riempimento dell'intervallo selezionato (in cui sono stati inseriti i valori che generano la sequenza generata) e trascinare il marcatore di riempimento lungo l'intervallo in cui verrà posizionata la sequenza generata .

Sintassi:

un oggetto. Riempimento automatico (intervallo, tipo)

Argomenti:

Intervallo Intervallo per iniziare a compilare il tipo Valori possibili: xlFillDefault, xlFillSeries, xlFillCopy, xlFillFormats, xlFillValues, xlFillDays, xlFillWeekdays, xlFillMonths, xlFillYears, xlLinearTrend, xlG. xlFill predefinito predefinito

Metodo di filtro automatico

Il metodo AutoFilter è un modo semplice per eseguire query e filtrare i dati in un foglio di lavoro. Quando il filtro automatico è abilitato, ogni intestazione di campo dell'intervallo di dati selezionato diventa una casella a discesa. Quando si seleziona una richiesta per visualizzare i dati in una casella di riepilogo a discesa, vengono visualizzati solo i record che soddisfano le condizioni specificate. La casella a discesa contiene i seguenti tipi di condizione: Tutti, Primi 10 (primi 10), Condizione (personalizzata), Articolo specifico, Vuoti e Non vuoti. Il metodo viene avviato manualmente scegliendo il comando Dati, Filtro, Filtro automatico.

Esistono due sintassi consentite quando si utilizza il metodo AutoFilter.

Sintassi 1:

Un oggetto. Filtro automatico

In questo caso, il metodo AutoFilter seleziona o annulla il comando Data, Filter, AutoFilter applicato all'intervallo specificato nell'argomento oggetto.

Sintassi 2:

Un oggetto. Filtro automatico (campo, criteri1, operatore, criteri2)

In questo caso, il metodo AutoFilter esegue il comando Data, Filter, AutoFilter in base ai criteri specificati nell'argomento.

Argomenti:

campo Un numero intero che indica il campo in cui filtrare i dati

Criteri1 Specificare due possibili condizioni di filtro e campi criteri2. È consentito utilizzare una costante stringa, ad esempio 101, e i segni di relazione>,<,>=, <=, =, <>

operatore Valori ammessi: X1And (unione logica del primo e del secondo criterio); X1or (aggiunta logica del primo e del secondo criterio)

Quando si lavora con i filtri, sono utili il metodo showAllData e le proprietà FilterMode e AutoFilterMode.

Metodo ShowAllData Mostra tutte le righe del foglio di lavoro filtrate e non filtrate

Proprietà FilterMode Valori consentiti: True (se il foglio di lavoro contiene dati filtrati con righe nascoste), False (altrimenti)

Proprietà AutoFilterMode Valori possibili: True (se nel foglio di lavoro vengono visualizzati gli elenchi a discesa del metodo AutoFilter), False (altrimenti)

Metodo GoalSeek

Il metodo GoalSeek (selezione del parametro) seleziona il valore di un parametro (quantità sconosciuta), che è una soluzione di un'equazione in una variabile. Si assume che l'equazione sia ridotta alla forma: il lato destro è costante, indipendente dal parametro, che è compreso solo nel lato sinistro dell'equazione. Il metodo GoalSeek viene eseguito manualmente utilizzando il comando Tools, GoalSeek. Il metodo GoalSeek calcola la radice utilizzando il metodo di approssimazione successiva, il cui risultato, in generale, dipende dall'ipotesi iniziale. Pertanto, per la correttezza della ricerca della radice, occorre prestare attenzione a indicare correttamente questa prima approssimazione.

Sintassi:

Un oggetto. GoalSeek (Goal, ChangingCell)

Argomenti:

Un oggetto La cella in cui viene inserita la formula, che è il lato destro dell'equazione da risolvere. In questa formula, il ruolo del parametro (valore sconosciuto) è svolto dal riferimento di cella specificato nell'argomento ChangingCell

Obbiettivo Il valore del lato sinistro dell'equazione da risolvere che non contiene un parametro

La precisione con cui viene trovata la radice e il numero massimo di iterazioni consentite per trovare la radice sono impostati dalle proprietà Maxchange e Maxiterations dell'oggetto Application. Ad esempio, la determinazione della radice con una precisione di 0,0001 in un massimo di 1000 iterazioni è impostata dall'istruzione:

Con Applicazione

Maxiterazioni = 1000

MaxChange = 0,0001

Questi valori vengono impostati manualmente nella scheda Calcolo della finestra di dialogo Opzioni, richiamata dal comando Strumenti, Opzioni.

Metodo di ordinamento

L'ordinamento consente di disporre i dati in ordine lessicografico in ordine crescente o decrescente. Il metodo di ordinamento ordina le righe di elenchi e database, nonché le colonne di fogli di lavoro, in base a un massimo di tre criteri di ordinamento. L'ordinamento manuale dei dati viene eseguito utilizzando il comando Dati, Ordina.

Sintassi:

Un oggetto. Ordina (chiave1, ordine1, chiave2, ordine2, chiave3, ordine3, intestazione, ordineCustom, matchCase, orientaticn)

Argomenti:

Un oggetto L'intervallo da ordinare

Ordine1

ordine2 Specifica l'ordine. Valori validi: xlAscending (ordine crescente); xlDescending (ordine decrescente)

intestazione Valori consentiti: xlYes (la prima riga dell'intervallo contiene un'intestazione non ordinata); xlNo (la prima riga dell'intervallo non contiene un'intestazione, questo valore è considerato di default); xlGuess (Excel decide se c'è un'intestazione)

ordinePersonalizzato Ordinamento personalizzato. L'impostazione predefinita è Normale

matchCase I valori validi sono True (senza distinzione tra maiuscole e minuscole) e False (senza distinzione tra maiuscole e minuscole)

orientamento Valori consentiti: xlTopToBottom (l'ordinamento viene eseguito dall'alto verso il basso, ovvero per righe); xlLeftToRight (da sinistra a destra, cioè per colonne)

Ad esempio, l'intervallo A1: C20 del foglio di lavoro1 viene ordinato in base al comando seguente, in ordine crescente, in modo che l'ordinamento iniziale sia in base alla prima colonna di questo intervallo e l'ordinamento secondario sia in base alla seconda:

Fogli di lavoro ("Foglio"). Intervallo ("A1: C20"). Ordina _

key1: = Fogli di lavoro ("Foglio1"). Intervallo ("A1"), _

key2: = Fogli di lavoro ("Foglio1"). Intervallo ("B1")

Numeri arrotondati

L'arrotondamento dei numeri decimali è comune, soprattutto quando si lavora con valori monetari. VBA non offre una soluzione diretta a questi problemi, ma le tecniche discusse di seguito aiuteranno a risolvere questi problemi.

1 via

Funzione rotonda

X = tondo (2.505, 2)

Il valore x sarà 2,5, non 2,51.

Pertanto, spesso non viene utilizzato.

2 vie

Funzione di formattazione

sngRound = Formato (SngNon arrotondato, “#, 0.00”)

3 vie

Funzione FormatoNumero

SngRound = FormatNumber (sbgNon arrotondato, 2)

Per modificare le posizioni decimali, modificare il numero di zeri dopo la virgola decimale nell'argomento Formato o modificare il numero che specifica il valore del secondo argomento nel valore desiderato.

Nota. La variabile che contiene il valore arrotondato deve essere di tipo stringa, singola, doppia, decimale, valuta o variante, ma non intera o lunga.

Trasmissione dei dati

Per convertire i dati di input nel tipo desiderato, VBA include un'ampia serie di funzioni, una delle quali è CDBL. Sintassi:

CDbl (espressione)

Argomento richiesto espressioneè qualsiasi stringa o espressione numerica. Per leggere le informazioni inserite nel campo di testo nel modulo creato, inserisci la variabile e scrivi l'espressione:

A = Cdbl (textBoxN.text)

Quindi puoi lavorare con questa variabile.

È conveniente utilizzare l'oggetto Intervallo per visualizzare i valori direttamente nelle celle di una cartella di lavoro di Excel:

intervallo ("A5"). valore = a

La funzione inversa a CDbl è la funzione CStr: converte i numeri in stringhe ed è conveniente per l'output del risultato in una cella su un foglio o in una o un'altra casella di testo.

TextBoxN.text = CStr (.Range ("A8"). Valore)

- leggere il valore dalla cella e visualizzarlo nella casella di testo.

La funzione Trim (stringa) restituisce una copia della stringa con gli spazi iniziali e finali rimossi.

Scrivere programmi VBA

Utilizzando il metodo GoalSeek

Esempio 41. Sviluppare un programma che, dati i valori numerici inseriti di una certa equazione, risolva l'equazione data e trovi la variabile sconosciuta x. Il risultato del calcolo viene visualizzato in una casella di testo sul modulo e su un foglio Excel.


Riso. 92. Forma sviluppata dell'esempio 41 funzionante

Tecnologia di esecuzione

1. Avvia l'applicazione Excel, salva il documento.

2. Passa all'editor VBA.

3. Creare una forma secondo la figura mostrata. 92.

4. Sul foglio Excel, disporre il testo richiesto (design), fornendo le celle appropriate per la visualizzazione delle informazioni (Fig. 93).


Riso. 93. Output dei risultati sul foglio excel dopo aver eseguito il modulo di esempio 41

5. Modifica i pulsanti.

Pulsante Calcola

Sub privato CommandButton1_Click ()

Dim a, b, c come doppio

a = CDbl (TextBox1.Text)

b = CDbl (TextBox2.Text)

c = CDbl (TextBox3.Text)

Con Foglio Attivo

Intervallo ("b3"). Valore = a

Intervallo ("b4"). Valore = b

Intervallo ("b5"). Valore = c

Intervallo ("b6"). FormulaLocal = "= b3 * b7 ^ 3 + b4 * sin (b7)"

Intervallo ("b6"). GoalSeek Obiettivo: = c, cambiando Cella: = Intervallo ("b7")

TextBox4.Text = CStr (.Range ("b7"). Valore)

TextBox4.Text = FormatNumber (TextBox4.Text, 2)

Pulsante Chiudi

Sub privato CommandButton2_Click ()

Procedura di inizializzazione del modulo

Privato Sub UserForm_initialize ()

Fogli di lavoro (1) .Visible = False

Utilizzo dei metodi di riempimento automatico durante il riempimento delle tabelle

Esempio 42 ... Crea un programma che, in base ai dati di testo inseriti nei campi di testo corrispondenti del modulo, automatizza l'immissione dei dati per gli studenti di una determinata specialità dell'istituto di istruzione. I risultati della compilazione dei campi di testo vengono visualizzati su un foglio excel, che consente di stampare i dati se necessario.

Microsoft Excel (a volte chiamato anche Microsoft Office Excel) è un foglio di calcolo creato da Microsoft per Microsoft Windows, Windows NT e Mac OS. Fornisce capacità di calcolo economiche e statistiche, strumenti grafici e, ad eccezione di Excel 2008 per Mac OS X, il linguaggio di programmazione macro VBA (Visual Basic for Applications). Microsoft Excel fa parte di Microsoft Office e oggi Excel è uno dei programmi più popolari al mondo.

Una preziosa funzionalità di Excel è la capacità di scrivere codice basato su Visual Basic, Applications Edition (VBA). Questo codice viene scritto utilizzando un editor separato dalle tabelle. Il foglio di calcolo viene gestito utilizzando un codice orientato agli oggetti e un modello di dati. Con l'aiuto di questo codice, i dati delle tabelle di input verranno istantaneamente manipolati e visualizzati in tabelle e grafici (grafici). La tabella diventa l'interfaccia del codice, consentendo di manipolarlo, modificarlo e guidarlo facilmente con i calcoli.

Con Excel puoi analizzare grandi quantità di dati. In Excel è possibile utilizzare più di 400 funzioni matematiche, statistiche, finanziarie e altre funzioni specializzate, collegare tra loro tabelle diverse, scegliere formati di presentazione dei dati arbitrari e creare strutture gerarchiche. Metodi davvero illimitati di presentazione grafica dei dati: oltre a diverse dozzine di tipi di grafici integrati, puoi crearne di tuoi, che sono tipi personalizzabili che aiutano a visualizzare visivamente l'oggetto del grafico. Coloro che stanno appena imparando a lavorare in Excel apprezzeranno l'aiuto dei "maghi", programmi ausiliari che aiutano con la creazione di grafici. Loro, da bravi maghi, ponendo domande guida sugli ulteriori passaggi previsti e mostrando, a seconda della risposta pianificata, il risultato, guideranno l'utente "per mano" attraverso tutte le fasi della costruzione di un diagramma nel modo più breve.

Lavorare con una tabella non si limita alla semplice immissione di dati in essa e alla creazione di diagrammi. È difficile immaginare un'area in cui sia necessaria l'analisi di questi dati. Excel include un potente strumento di analisi: la tabella pivot. Con il suo aiuto, puoi analizzare tabelle di grande formato, contenere una grande quantità di dati non sistematizzati e, con pochi clic del pulsante del mouse, portarli in una forma comoda e leggibile. La padronanza di questo strumento è semplificata dalla presenza del relativo wizard.

Esistono due tipi principali di oggetti in Microsoft Excel: cartella di lavoro e lettera.

Libro in Microsoft Excel è un file utilizzato per elaborare e archiviare dati. Ogni libro può essere composto da più fogli, quindi puoi mettere una varietà di informazioni in un file e stabilire i collegamenti necessari tra di loro.

Lettere servono per organizzare e analizzare i dati che possono essere inseriti e modificati contemporaneamente su più fogli, nonché per eseguire calcoli basati sui dati di più fogli. Una volta creato il diagramma, puoi posizionare il diagramma su una lettera con i dati corrispondenti o su una lettera separata.

I nomi dei fogli vengono visualizzati nelle schede nella parte inferiore della finestra della cartella di lavoro. Per passare da una lettera all'altra, è necessario indicare l'etichetta appropriata. Il nome del foglio attivo è in grassetto.

Esistono molte funzioni diverse in Microsoft Excel, ad esempio:

1. Finanziario, tra le tante funzioni speciali che calcolano gli interessi su un deposito o prestito, l'ammortamento, il tasso di rendimento e una varietà di valori reciproci e correlati.

2. Funzioni di data e ora- La maggior parte delle funzioni di questa categoria riguarda la conversione di date e orari in formati diversi. Due funzioni speciali TODAY e TDATE inseriscono nell'armadio la data corrente (prima) e la data e l'ora (secondi), aggiornandole ogni volta che si richiama il file o quando si apportano modifiche alla tabella.

5. Collegamento e array. Questa categoria contiene funzioni che consentono di accedere a un array di dati (per colonna, riga, intervallo rettangolare) e di ottenere da esso una varietà di informazioni: il numero di colonne e righe, include, il loro numero, il contenuto dell'elemento dell'array hai bisogno; puoi trovare in quale armadio di questo array il numero o il testo desiderato, ecc.

6. Testo- Ci sono circa due dozzine di squadre in questo gruppo. Con il loro aiuto, puoi contare il numero di caratteri nel colletto, inclusi gli spazi (DLSTR), scoprire il codice del carattere (CODE), scoprire quale carattere è il primo (SINISTRA) e l'ultimo (DESTRA) in una riga di testo , inserisci un certo numero di caratteri di un altro nei collari attivi dell'armadio (MID), inserisci nell'armadio attivo tutto il testo di un altro armadio in lettere grandi (UPPER) o minuscole (LOWER), spunta o due caselle di testo corrispondono (MATCH ), trova del testo (SEARCH, FIND) e sostituiscilo con un altro (REPLACE ).

7. Verifica proprietà e valori- ecco i comandi con cui puoi ottenere informazioni sul tipo di dati nel collare (il numero c'è, testo o qualche altra informazione), sul formato, sull'ambiente operativo corrente, sugli errori tipici che si sono verificati nella formula , ecc. P..

8. Lavorare con il database- qui puoi trovare i comandi per la contabilità statistica (BDDISP - varianza per un campione dalla base, BDDISPP - varianza per la popolazione generale, DSTANDOTKL - deviazione standard per un campione), operazioni con colonne e righe della base, il numero di celle non vuote (COUNT) o (COUNT), ecc. .d.

9. Mago dei grafici- programma EXCEL integrato, che semplifica il lavoro con le funzionalità di base del programma.

Scopo di MS Excel.

MS Excel è uno dei programmi per fogli di calcolo più popolari oggi. Viene utilizzato da scienziati, contabili, giornalisti, ecc., Con il suo aiuto tengono una varietà di tabelle, elenchi e cataloghi, preparano rapporti finanziari e statistici, calcolano lo stato di un'impresa commerciale, elaborano i risultati di un esperimento scientifico, conservano registrazioni, preparare materiali di presentazione. Le capacità di Excel sono molto elevate. Elaborazione testi, gestione di database: il programma è così potente che in molti casi supera i programmi di editor o database specializzati. Una tale varietà di funzioni all'inizio può confondere, poi essere costretta ad applicarsi nella pratica. Ma man mano che acquisisci esperienza, inizi ad apprezzare il fatto che i limiti delle capacità di Excel sono difficili da raggiungere.

Nella lunga storia dei calcoli tabulari che utilizzano i personal computer, i requisiti degli utenti per tali programmi sono cambiati in modo significativo. All'inizio, l'enfasi principale in un programma come VisiCalc era il conteggio delle funzioni. Oggi, insieme ai calcoli ingegneristici e contabili, l'organizzazione e la rappresentazione grafica dei dati stanno diventando sempre più importanti. Inoltre, la varietà di funzioni offerte da un tale programma di calcolo e grafico non dovrebbe complicare il lavoro dell'utente. I programmi Windows forniscono i prerequisiti ideali per questo. Ultimamente, molti sono appena passati all'utilizzo di Windows come ambiente utente. Di conseguenza, molte aziende di software hanno iniziato a offrire un gran numero di programmi Windows.

Excel fornisce sia la facilità di gestione dei dati che la loro sicurezza. Excel ti consente di completare rapidamente lavori per i quali non è necessario spendere molta carta e tempo, oltre a coinvolgere contabili e finanzieri professionisti.

Questo programma sarà in grado di calcolare le somme per righe e colonne di tabelle, calcolare la media aritmetica, l'interesse bancario o la varianza, qui puoi generalmente utilizzare molte funzioni standard: finanziarie, matematiche, logiche, statistiche.

Excel ha molti altri vantaggi. Questo sistema molto flessibile "cresce" insieme alle esigenze dell'utente, cambia aspetto e si adatta a te. Excel si basa sulla casella di celle e menu nella parte superiore dello schermo. Inoltre, sullo schermo possono essere posizionate fino a 10 barre degli strumenti con pulsanti e altri controlli. È possibile non solo utilizzare barre degli strumenti standard, ma anche crearne di proprie.

Conclusione.

Per conoscere Excel, devi lavorarci. Utilizzando questo programma, scoprirai sicuramente sempre più nuove possibilità e proprietà. Esplora e sperimenta. Se non ti piacciono i risultati, riprova. Quasi tutto in Excel può essere annullato, quindi sperimentando non perderai altro che pochi minuti del tuo tempo.


© 2015-2019 sito
Tutti i diritti appartengono ai loro autori. Questo sito non rivendica la paternità, ma fornisce un uso gratuito.
Data di creazione della pagina: 08-08-2016

La programmazione in Visual Basic si basa sulla programmazione orientata agli oggetti (OOP) e sul suo utilizzo in Excel. Per utilizzare gli elementi della programmazione Visual Basic in Excel, è necessario definire il concetto: oggetto, proprietà dell'oggetto, metodi, oggetti e loro utilizzo nel programma.

OOP è lo stile più moderno nello sviluppo di programmi per computer. Questo stile viene utilizzato perché la progettazione moderna del programma sta cercando di raggiungere determinati obiettivi specifici. Il programma deve essere: verificabile, aggiornabile, riutilizzabile, portatile.

Tutti questi requisiti sono soddisfatti se si utilizza il principio della modularità del programma. Durante lo sviluppo, i programmi modulari vengono suddivisi in parti separate chiamate moduli. Ciascun modulo esegue funzioni di trasformazione specifiche e rigorosamente definite e ha accesso solo ai dati necessari per questa trasformazione. Il codice del modulo (programma del modulo), sviluppato con un'interfaccia rigorosamente definita per altri moduli del programma, è facile da eseguire il debug, la manutenzione e la comprensione. Un altro aspetto della modularità è la sua natura chiusa, che dà fiducia che qualsiasi modifica nel codice del modulo influenzerà solo le funzioni di questo modulo e nient'altro.

OOP sfrutta al massimo il principio della modularità. Un oggetto programma in OOP è chiamato "contenitore". Il contenitore include dati e codice che sa come manipolare quei dati.

Oggetto: una raccolta di dati insieme al codice del programma progettato per elaborarli.

In altre parole, un oggetto programma (contenitore) è un blocco di codice e dati.

Può essere rappresentato come un oggetto fisico, come un pulsante o un menu. Un oggetto software ha una funzione di trasformazione specifica e contiene codice e dati specifici necessari per implementare questa funzione, ma il suo funzionamento interno è nascosto all'utente.

Nella programmazione più tradizionale, un programma per computer è progettato come set di righe funzionali in cui blocchi di dati vengono passati da un modulo all'altro e ogni modulo li modifica o li usa come meglio crede. I moduli non contengono dati, ma solo il codice per modificare i dati trasmessi. Se il programma passa accidentalmente dati errati, la procedura li elaborerà comunque e restituirà "spazzatura" o addirittura arresterà il sistema in crash.

In OOP, dati e codice sono combinati in un'unica struttura chiamata oggetto. Invece di passare i dati da un modulo all'altro per eseguire i calcoli, viene inviato un messaggio all'oggetto che contiene i dati. È impossibile trasferire dati errati all'oggetto, perché tutti i dati sono all'interno dell'oggetto.

Esempi comuni di oggetti Visual Basic ed Excel sono tabelle, aree di celle, pulsanti di comando, caselle di testo, cartelle di lavoro, grafici e moduli. Un oggetto software ha proprietà e metodi specifici.

Le proprietà sono le caratteristiche visibili di un oggetto. Le proprietà di un oggetto ne determinano l'aspetto e il comportamento.

Metodi - queste sono operazioni per trasformare questi dati.

Le caratteristiche visibili sono dati a cui è possibile accedere dall'esterno della struttura. Le proprietà sono dati manipolati da un oggetto o che consentono di controllare l'aspetto o il comportamento di un oggetto. Ad esempio, la proprietà Valore casella di testo è il testo che viene immesso nella casella.

Quando un metodo viene eseguito, può solo modificare i valori delle proprietà di questo oggetto, ma non di altri oggetti. Un metodo può chiedere solo ad un oggetto di modificare alcune proprietà.

È impossibile chiamare un oggetto, proprio come una procedura. Per modificare una proprietà di un oggetto o eseguire uno dei metodi, è necessario inviare un messaggio all'oggetto. Ad esempio, per eseguire un'operazione sui dati oggetto, si specifica

Il nome dell'oggetto. Metodo,

e per cambiare qualche proprietà

Il nome dell'oggetto. Proprietà = valore.

Sia il nome dell'oggetto Power, che ha la proprietà Value, quindi è possibile modificare questa proprietà utilizzando l'istruzione:

Potenza. Valore = 3 ‘Il valore della proprietà –valore –sarà uguale a 3

o memorizzare il valore della caratteristica di un oggetto in una variabile

X = Potenza. Value 'Il valore della proprietà value viene inserito nella variabile x.

Ci sono dozzine e persino centinaia di oggetti diversi in VBA. Tuttavia, alcuni di loro si troveranno quasi ad ogni turno. Alcuni di essi sono riportati nella tabella. 4.1.

Tabella 4.1

Oggetti VBA Excel

Classe di oggetti Descrizione dell'oggetto
Applicazione Questo oggetto rappresenta l'applicazione Excel stessa, nel suo insieme, include tutte le funzioni integrate di MS Excel.
Cartella di lavoro Determina lo stato della cartella di lavoro, ad esempio se è aperta per la lettura o quale metodo è attualmente attivo. Questa classe possiede anche l'oggetto ActiveWorkBook: rappresenta il libro attualmente attivo.
Fogli di lavoro (foglio di lavoro) L'oggetto viene utilizzato per copiare o eliminare fogli di lavoro, nasconderli o mostrarli, eseguire calcoli per formule di fogli di lavoro. Questa classe contiene anche l'oggetto ActiveWorkSheet, che è l'oggetto che rappresenta il foglio di lavoro attualmente attivo.
Finestra Un oggetto di questa classe viene utilizzato per ridurre a icona o espandere una finestra, dividerla in parti e correggere finestre secondarie. ActiveWindow - rappresenta la finestra attiva
Intervallo (intervallo) Un oggetto di questa classe consente di modificare le proprietà della spaziatura delle celle, come il carattere utilizzato, controllare o modificare il contenuto delle celle, tagliare o copiare la spaziatura e così via.Questa è la classe di oggetti più comunemente utilizzata. Gli oggetti appartengono alla stessa classe: ActiveCell - cella attiva. Una cella presa separatamente è un caso speciale di Range.

Come già accennato, ogni oggetto ha una serie di caratteristiche o proprietà intrinseche. Alcuni di essi sono riportati nella tabella. 4.2

Tabella 4.2

Proprietà di alcuni oggetti VBA

Un oggetto Proprietà Descrizione
Applicazione ActiveWindow ActiveWorkBook ScreenUpdating StandardFont Finestra attiva Cartella di lavoro attiva Nome del carattere predefinito per i nuovi fogli di lavoro
Libro di lavoro Nome completo di ActiveSheet Nome salvato Foglio di lavoro attivo Il nome completo della cartella di lavoro, incluso il percorso. Il nome della cartella di lavoro. Indica che lo stato della cartella di lavoro è stato salvato su disco (falso se sono state apportate modifiche alla cartella di lavoro)
Foglio di lavoro Preferenze dei nomi ProtectContents Visibile Nome foglio di lavoro Foglio di lavoro precedente Protegge il contenuto delle celle del foglio di lavoro. Modalità di visibilità del foglio di lavoro (nascosta o mostrata).
Finestra Selezione ActiveCell DisplayGridlines WindowState visibile Cella attiva Modalità di visualizzazione della linea della griglia L'oggetto attualmente selezionato. Modalità visibilità finestra. Modalità di visualizzazione finestra (riduci a icona finestra, modalità schermo intero, dimensioni normali)
Gamma Carattere colonna Nome formula Valore riga Foglio di lavoro La prima colonna dell'intervallo Il carattere utilizzato nell'intervallo Formula intervallo Nome intervallo La prima riga dell'intervallo Valore cella Foglio di lavoro

Ecco alcuni esempi che mostrano come vengono determinate (impostate) le proprietà degli oggetti:

1) imposta un carattere da 14 pt nella cella attiva.

ActiveCell.Font.Size = 14

dove Misurare- proprietà dell'oggetto Font;

2) impostando nella cella attiva il font con il nome Courier New Cyr

ActiveCell.Font.Name = "Corriere New Cyr"

dove Nome- proprietà dell'oggetto Font;

3) impostazione del carattere tipografico nella cella attiva per il font - corsivo

ActiveCell.Font.Italic = Vero.

Inoltre, ogni oggetto ha i propri metodi (Metodo: descrive l'azione che può essere eseguita sull'oggetto). Alcuni dei metodi oggetto sono presentati nella tabella. 4.3.

Tabella 4.3

Tabella di alcuni metodi di oggetti VBA

Un oggetto Metodo Descrizione
Applicazione Esci Annulla Fine MSExsel Annulla l'ultima azione eseguita
Cartella di lavoro Attiva Chiudi Salva Salva con nome Attiva la cartella di lavoro. Chiude la cartella di lavoro. Salva la cartella di lavoro. Salva la cartella di lavoro con un nome diverso.
Foglio di lavoro Attiva Calcola Elimina Proteggi Rimuovi protezione Attiva il foglio di lavoro. Ricalcola il valore del foglio di lavoro. Elimina il foglio di lavoro. Protegge il foglio di lavoro. Annulla la protezione del foglio di lavoro.
Finestra Attiva Chiudi Attiva la finestra. Chiude la finestra.
Gamma Cancella ClearContents ClearFormats Offset Seleziona Cancella completamente l'intervallo formattato. Cancella il contenuto della cella. Cancella la formattazione della cella. Restituisce l'intervallo in corrispondenza dell'offset specificato dall'intervallo originale. Evidenzia un intervallo

Consideriamo la soluzione a diversi problemi.

Compito 4.1

Ottieni informazioni sulle proprietà disponibili di una cartella di lavoro: il numero di fogli nella cartella di lavoro, il nome della cartella di lavoro e il nome del terzo foglio di questa cartella di lavoro. Emetti il ​​risultato nelle celle del foglio di lavoro.

Soluzione

Sub Informazioni ()

"Contando il numero di fogli e il risultato viene messo in B1

Fogli di lavoro ("Foglio1"). Intervallo ("B1"). Valore = Fogli di lavoro.Count

"Specifica il nome della cartella di lavoro attiva e viene inserita in B2

Fogli di lavoro ("Foglio1"). Intervallo ("B2"). Valore = AktiveWorkBook.FullName

"Specifica il nome del terzo foglio del libro e lo inserisce in B3.

Fogli di lavoro ("Foglio1"). Intervallo ("B3"). Valore = Fogli di lavoro (3). Nome

Incarico 4.1

Scrivi un codice usando oggetti e metodi che ricalcoli il numero di fogli nel libro corrente, aggiunga un altro foglio e chiami l'ultimo foglio "Ciao", visualizzi la dimensione del carattere, il nome del carattere su un nuovo foglio.

Indicazione

Aggiungi metodo: Inserisci.

Incarico 4.2

Scrivi il codice per rimuovere l'ultimo foglio dal libro.

Informazione

Uno degli oggetti principali di Microsoft Excel è la cartella di lavoro e il foglio di lavoro.

Quando si crea, si apre o si salva un file in Microsoft Excel, la cartella di lavoro viene effettivamente creata, aperta e salvata. Per utilizzare una cartella di lavoro, Visual Basic utilizza i metodi dell'oggetto WorkBook o dell'insieme WorkBooks.

Con dichiarazione

L'istruzione With consente di eseguire una sequenza di istruzioni su un oggetto specificato senza ripetere la specificazione del nome dell'oggetto. Ad esempio, se si dispone di più proprietà che devono essere modificate per un singolo oggetto, è più conveniente inserire le istruzioni di assegnazione della proprietà all'interno di una struttura di controllo With facendo riferimento all'oggetto una volta, anziché fare riferimento all'oggetto ogni volta che si assegna le sue proprietà.

Con< oggetto>

<инструкции>

Termina con

dove Con, Termina con - parole chiave,

< oggetto> - qualsiasi oggetto Excel,

<инструкции> – Istruzioni VBA che utilizzano proprietà e metodi < oggetto>. Ogni istruzione deve iniziare con un punto.

Il seguente frammento di codice imposta l'intervallo A1: C8 in grassetto rosso con un'altezza del carattere di 20 pt e non utilizza l'istruzione Con.

Gamma (" A1: C8 ”) .Font.Grassetto = Vero

Gamma (" A1: C8 ”) .Font.ColorIndex = 3

Gamma (" A1: C8 ”) . Dimensione.carattere = 20

L'esempio seguente mostra l'uso dell'istruzione With per assegnare valori a più proprietà dello stesso oggetto.

Con Intervallo ("LA1:C8").Font

.Grassetto = Vero

.ColorIndex = 3

.Taglia = 20

Termina con

Le forme come oggetto

VBA ti consente di organizzare un'interfaccia utente comoda e intuitiva con i dati utilizzando i moduli.

Forme Sono oggetti che hanno proprietà che determinano il loro aspetto, metodi che determinano il loro comportamento ed eventi che determinano la loro interazione con l'utente. Impostando le proprietà su un modulo e sviluppando il codice VBA per rispondere agli eventi per il modulo, viene creato un oggetto che soddisfa i requisiti di una particolare applicazione.

Elementi di controllo Sono oggetti contenuti all'interno di oggetti modulo. Ogni tipo di controllo ha il proprio insieme di proprietà, metodi ed eventi, che lo rendono adatto a uno scopo specifico. Alcuni dei controlli utilizzati nelle applicazioni sono i migliori per l'immissione o la visualizzazione di testo. Altri controlli forniscono l'accesso ad altre applicazioni ed elaborano i dati come se l'applicazione remota facesse parte dell'applicazione stessa.

Annotazione: La lezione è dedicata alla descrizione del modello a oggetti di MS Excel e alla descrizione dettagliata dei metodi, delle proprietà e degli eventi dell'Applicazione.

13.1. Funzionalità di programmazione per MS Excel

Microsoft Office Excel sono fogli di calcolo popolari. Di solito, quando si programma per questo programma, perseguono i seguenti obiettivi:

  • Automazione dei calcoli.
  • Automazione dell'immissione e dell'elaborazione delle informazioni.
  • Lavorare con i database: output, input, analisi, visualizzazione delle informazioni.
  • Analisi di informazioni finanziarie e di altro tipo.
  • Realizzazione di sistemi per l'organizzazione dell'inserimento automatizzato dei dati
  • Modellazione matematica.

Generalmente programmazione Excel è simile a Microsoft Word. Tuttavia, una delle differenze principali è che Excel suddivide l'area del foglio di lavoro in celle, ciascuna con il proprio nome. I nomi delle celle possono essere di due tipi.

  • Il primo tipo (stile A1) è un nome composto da un nome di colonna alfabetico e un numero di riga. Ad esempio, A1 è una cella all'intersezione della colonna A (prima) e della prima riga.
  • Un altro tipo sono gli indici di cella (stile di denominazione R1C1). Per indirizzare una cella in questo stile, indicare il numero di riga (R - Riga - riga) e il numero di colonna (C - Colonna - colonna), all'intersezione di cui si trova la cella. Le righe sono inizialmente numerate e i numeri di colonna iniziano da 1: la prima colonna corrisponde alla colonna A, la seconda a B e così via. Ad esempio, (2, 3) è l'indirizzo della cella situata all'intersezione della seconda riga e della terza colonna, ovvero, se lo spostiamo nello stile A1, otteniamo la cella C2 (Fig.13.1.)


Riso. 13.1.

I seguenti oggetti vengono utilizzati per eseguire la maggior parte delle operazioni in MS Excel.

  • Excel.Application (Applicazione) - Un oggetto che rappresenta un'applicazione Microsoft Excel, simile a Word.Application.
  • Cartella di lavoro(Cartella di lavoro) - rappresenta una cartella di lavoro - un analogo di un documento di Microsoft Word. Tuttavia, in Word, lavoriamo con i dati che si trovano nel documento e in Excel, sulla strada per i dati, c'è un altro oggetto: un foglio di lavoro.
  • Foglio di lavoro(Foglio di lavoro): una cartella di lavoro in MS Excel è suddivisa in fogli di lavoro. È sul foglio che si trovano le celle che possono memorizzare informazioni e formule.
  • Intervallo: può essere rappresentato come una singola cella o un gruppo di celle. Questo oggetto sostituisce molti oggetti per lavorare con gli elementi del documento (carattere, parola, ecc.) utilizzati in Microsoft Word. Di conseguenza, lavorare con il foglio diventa molto chiaro e conveniente: per lavorare con qualsiasi cella, devi solo conoscerne il nome (in formato A1) o l'indirizzo (R1C1).
  • QueryTable: questo oggetto viene utilizzato per importare informazioni dai database in Microsoft Excel. Collegamento al database, richiesta di informazioni, ecc. vengono prodotti tramite l'oggetto e i risultati della query vengono caricati su un foglio MS Excel sotto forma di una normale tabella.
  • La tabella pivot è un tipo speciale di foglio di calcolo Excel: consente di riassumere e analizzare in modo interattivo grandi quantità di informazioni, in particolare, prelevate dal database.
  • Grafico(Diagramma) - rappresenta un diagramma. Di solito vengono utilizzati per la visualizzazione dei dati.

Iniziamo a considerare modello a oggetti MS Excel dall'oggetto Applicazione.

13.2. Oggetto dell'applicazione

MsgBox Excel.Application.Name Listato 13.1. Visualizza il nome dell'applicazione

Dopo aver eseguito il programma, nella finestra di messaggio viene visualizzato il nome dell'applicazione, in questo caso Microsoft Excel. Ovviamente, la proprietà Name dell'oggetto Application restituisce il nome dell'applicazione.

Ora diamo un'occhiata ai metodi e alle proprietà più importanti di Application. Alcuni di essi sono simili a quelli di MS Word. Ad esempio, il metodo Quit, proprio come in Word, chiude l'applicazione, la proprietà Visible è responsabile della visibilità della finestra del programma, ecc.

13.3. Modalità applicative

13.3.1. Calcola - ricalcolo forzato

Questo metodo, chiamato sull'oggetto Application, ricalcola tutte le aperture del libro. Può essere chiamato anche per singoli libri (object Cartella di lavoro) fogli ( Foglio di lavoro), le celle e i loro intervalli (Intervallo). Ad esempio, il codice nel Listato 13.2. ti permette di contare tutti i libri aperti.

Applicazione.Calcola Listato 13.2. Conta tutti i libri aperti

13.3.2. Vai a: sposta in una cella

13-02-Excel GoTo.xlsm - un esempio per p.13.3.2.

Consente di selezionare qualsiasi intervallo di celle in qualsiasi libro e, se il libro non è attivo, verrà attivato. Il metodo può anche eseguire macro di Microsoft Excel.

La chiamata al metodo completa è simile a questa:

Vai a (riferimento, scorrimento)

Il parametro Reference è un riferimento a una cella oa un intervallo di celle da selezionare dopo aver chiamato il metodo. Inoltre, qui è possibile utilizzare il nome della macro, quindi verrà avviata.

Il parametro Scroll è responsabile del "riavvolgimento" del foglio Excel nelle celle selezionate, in modo che l'angolo in alto a sinistra della selezione coincida con l'angolo in alto a sinistra dell'area visualizzata del foglio. Se Scroll è impostato su True, il foglio viene riavvolto, se è False, no.

Ad esempio, tale chiamata (Listato 13.3.) consente di selezionare la cella H500 sul foglio attivo.

Application.Goto _ Riferimento: = ActiveSheet.Range ("H500"), _ Scroll: = True Listato 13.3. Seleziona la cella H500

Come puoi vedere, l'accesso a un foglio attivo è molto simile all'accesso a un documento attivo in MS Word. Nota che stiamo usando una chiamata al metodo completa - Application.GoTo - come sai, di solito le proprietà e i metodi dell'oggetto Application possono essere usati nel codice senza specificare questo oggetto. Tuttavia, se in questo caso non si specifica Application, al posto del metodo GoTo il programma tenterà di eseguire operatore di salto incondizionato Vai a.

13.3.3. SendKeys - simula le sequenze di tasti sulla tastiera

13-03-Excel SendKeys.xlsm - un esempio per p.13.3.3.

Un metodo molto interessante: ti consente di inviare sequenze di tasti alla finestra attiva dell'applicazione. La chiamata al metodo completa è simile a questa:

SendKeys (chiavi, attesa)

Il parametro Keys consente di specificare le chiavi che verranno passate all'applicazione. Il metodo supporta l'emulazione sia di alfanumerico che tasti di controllo per cui viene applicata una codifica speciale. Le chiavi alfanumeriche vengono specificate quando vengono chiamate nella loro forma normale Ad esempio, per trasmettere il carattere "F", è necessario specificarlo quando si chiama un metodo, ecc.

Per passare le sequenze di tasti all'applicazione Backspace- utilizzare il codice (BS). Per trasmettere un pulsante premere accedere usa ~ (

 

 

È interessante: