Come configurare smartphone e PC. Portale informativo
  • casa
  • Consigli
  • Programmazione ed esempi su vba ms excel. Esempi di macro in Excel

Programmazione ed esempi su vba ms excel. Esempi di macro in Excel

Il contenuto di questa pagina continuerà a crescere...
  1. Calcolatrice di programmi "Alzare i numeri alle grandi potenze".

    Implementa il calcolo esatto dell'aumento di numeri a una cifra (da 2 a 9) a grandi potenze usando l'aritmetica lunga.

  2. Dal forum di Jonny323. Parola VBA

    Ciao a tutti. Ho davvero bisogno di una macro, penso non sia difficile: stampa la prima pagina in 6 copie e la 2a pagina in 2 copie Grazie in anticipo.

  3. ProgressBar sul modulo. VBA Excel

    Un controllo che mostra lo stato di avanzamento del programma (quanto lavoro è stato svolto dal 100%)...

  4. Calcoli statistici nel testo selezionato. Parola VBA

    Crea una macro in Word che determinerà il numero di parole, virgole e punti in un testo arbitrario.
    Le parole sono gruppi di caratteri separati da spazi (uno o più) e non contengono spazi al loro interno. Punti o virgole non possono essere all'interno di una parola. I punti non contano come punti...

  5. Calcoli statistici nel testo del documento. Utilizzo di UserForm per inserire i dati. Parola VBA

    Creare un programma in Word - Nella maschera, l'utente inserisce una parola o una frase, e il programma scansiona l'intero testo e inserisce la parola (frase) inserita alla fine del documento, accanto alla quale sono elencati tutti i numeri di pagina su cui ricorre questa parola. Non sono consentiti numeri di pagina corrispondenti. Cioè, se la parola specificata ricorre tre volte a pagina 5, il numero 5 compare solo una volta nell'uscita. Il modulo deve essere composto dai seguenti componenti:
    - 1 TextBox per inserire una parola (frase);
    - 1 pulsante per uscire dal programma;
    - 1 pulsante per avviare la ricerca e inserire il risultato nel documento;
    - Componente tipo etichetta con testo esplicativo sopra la riga di input;
    - Inoltre, sul modulo possono essere presenti componenti di tipo Frame;

  6. Utilizzo di ListBox (Excel). Rilegatura, ordinamento, selezione multipla...

  7. Programma per risolvere i sudoku giapponesi (Excel)

  8. Macro di esecuzione di query (ovvero generazione di una nuova tabella da un database Excel)

  9. Hoare sort (algoritmo da wikipedia.org)

    Uno dei metodi di smistamento più veloci.
  10. Unisci ordinamento (usando Hoare)

    Uno dei metodi di smistamento più veloci e ottimali.
  11. VBA Excel: programma di calcolo del bioritmo umano

  12. Per blackarrow da programmersforum.ru

  13. Determina quale quarto di coordinate
    cade un punto con coordinate A(a,b) date. VBA Excel.

  14. Rappresentazione di un numero intero in parole VBA EXCEL.

  15. LOGICHE.

    Soluzione di un'equazione quadratica.
  16. VBA Excel.

  17. VBA Excel. Problema del triangolo. Array, loop, logica.

    In base alle dimensioni indicate dei tre lati del triangolo, determina il suo tipo (rettangolare, ad angolo ottuso, ad angolo acuto o impossibile da costruire).
  18. Sveglia in Excel

  19. VBA Excel.

  20. VBA Excel.

  21. VBA Excel.

    Una macro che, nell'intervallo selezionato, rappresenta tutti i numeri negativi in ​​blu, i numeri positivi in ​​rosso, i numeri zero in bianco (o giallo).

  22. VBA Excel. Come nascondere o mostrare gli elementi del foglio.

    A volte, è necessario nascondere alcune funzionalità all'utente (di norma, il posizionamento dei dati è nascosto):
    - visitare altri fogli di questo libro (meglio non conoscerli);
    - scorrere (in orizzontale e in verticale) il foglio
    - leggere e modificare le formule nelle celle del foglio
    - nascondere le righe di colonna e riga
    - nascondere le intestazioni (nomi e numeri) di colonne e righe
  23. VBA Excel. Aggiungi e rimuovi una voce di menu.

    È facile aggiungere (rimuovere) il tuo elemento al menu di Excel. È tutto descritto nell'aiuto.
    Ma è molto più interessante affidare questo lavoro a una macro.
    Quindi diventa possibile formare un menu speciale e individuale all'apertura di un documento specifico e, dopo averlo chiuso, riportare il menu di Excel al suo stato originale. (Questo esempio di codice funziona solo in MS Excel 2003 e nel 2007 è necessario modificare i nomi del pannello di controllo)
  24. Automi cellulari VBA EXCEL.

  25. Metodo sezione aurea VBA EXCEL.

  26. Sostituzione dei valori massimo e minimo delle celle dell'intervallo selezionato. VBA Excel

    Sviluppa un programma o un modulo utente per trovare e scambiare elementi con il valore massimo e minimo dell'intervallo del foglio di lavoro selezionato

  27. Una funzione stringa che restituisce i quadrati dei numeri primi da zero al numero specificato. VBA Excel

    Scrivi una funzione in Excel che prenda un numero naturale N e restituisca i quadrati di tutti i numeri primi da 0 a un dato numero naturale N.

  28. Modulo utente (UserForm) per l'inserimento dei dati sui prestiti bancari commerciali. VBA Excel

    Organizzare l'inserimento delle informazioni in una tabella contenente i dati sull'emissione di prestiti a lungo termine da parte di una banca commerciale con i seguenti dati: codice del destinatario del prestito, nome del destinatario del prestito, data di emissione del prestito, durata ( 3-4 termini) per cui è stato erogato il prestito (in giorni), percentuale, importo prestito, data di pagamento degli interessi sul prestito.

  29. Modulo utente (UserForm) per l'inserimento dei dati sulla registrazione dei turisti. VBA Excel

    proprio in questo posto...

(Visual Basic per l'applicazione)

Basic - linguaggio di programmazione di alto livello (interprete)

Visual: contiene strumenti visivi per lo sviluppo di programmi (codici) che semplificano il lavoro dell'utente, consente di registrare codici utilizzando un registratore di macro.

Applicazione: un'applicazione per il sistema software MS Office insieme alle applicazioni Word, Access e PowerPoint.

Perché ti serveVBA?

    Unisce (integra) le applicazioni, consente di gestire il lavoro di altre applicazioni senza uscire da Excel, incorporare oggetti da altre applicazioni;

    Le azioni a disposizione dell'utente sul foglio di lavoro costituiscono il 10% di tutte le funzionalità dell'applicazione Excel, VBA ti consente di automatizzare il lavoro del tuo progetto.

VBA è uno dei linguaggi orientati agli oggetti, ovvero gli oggetti vengono utilizzati nello sviluppo di progetti. Definizione: combinando dati e codice in un unico insieme Ad esempio, l'elemento "Pulsante" e il codice corrispondente associato a questo pulsante forniranno un passaggio a un altro foglio della cartella di lavoro.

Oggetti principaliVBA:

Applicazione (l'applicazione Excel stessa)

WorkBook (la cartella di lavoro è il tuo file)

Funzione foglio di lavoro (procedura guidata funzione)

Foglio di lavoro (foglio di lavoro)

gamma

Grafico (diagramma)

Stile (stile)

Confine (confini)

Interno (colore di sfondo)

Carattere (carattere)

L'insieme di alcuni oggetti è famiglie–Libri di lavoro, Fogli di lavoro, Grafici.

Gli oggetti hanno proprietà (azioni sugli oggetti) e metodi (azioni sugli oggetti stessi).

Iniziamo a familiarizzare con gli strumenti di visualizzazione per lo sviluppo di progetti in VBA. Questo è l'ambiente di sviluppo di applicazioni integrato. Per entrare in questo ambiente, selezionare Strumenti  Macro  Editor VBA nella voce di menu, oppure premere contemporaneamente i tasti ALT e F11.

I componenti dell'editor VBA appariranno sullo schermo:

Finestra del progetto - Progetto VBA

Finestra delle proprietà

Finestra del codice

Finestra del modulo UserForm

Barre degli strumenti

La finestra Project-VBAProject (Fig. 1) mostra la struttura del tuo progetto (file). Questa finestra si attiva nell'editor VBA selezionando il comando VisualizzaProjectExplorer oppure premendo il pulsante ProjectExplorer o premendo Ctrl+R

Riso. 1 Finestra del progetto.

Fig.2 Ambiente di sviluppo applicativo integrato

La finestra del codice è progettata per memorizzare il codice associato a un oggetto. Ogni oggetto ha la sua finestra, quindi ogni foglio di lavoro (Foglio di lavoro) ha la sua finestra di codice, la cartella di lavoro (Cartella di lavoro) ha la sua finestra.

Creazione di funzioni personalizzate

Le funzioni personalizzate vengono aggiunte all'elenco standard della procedura guidata delle funzioni (WorkSheetFunction). Queste funzioni vengono create in un modulo speciale che accompagna l'oggetto WorkSheetFunction. Questo modulo viene aggiunto al progetto utilizzando il comando InserisciModulo (InserisciModulo), nella finestra del progetto verrà visualizzato a livello della tua applicazione. Tutti i codici scritti in questo modulo appariranno nella categoria Funzioni definite dall'utente della procedura guidata.

Quindi, aggiungiamo un modulo al nostro progetto (InsertModule) e nella finestra del codice di questo modulo scriviamo il testo del programma:

y = Cos((x + 2) / 2) ^ 2 + Exp(-2 * x) / (x ^ 2 + 1) ^ 0,5

Quindi andiamo al foglio di lavoro "1 grafico", nella cella c2 faremo riferimento alla nuova funzione aggiunta alla procedura guidata della funzione - y(x). Lavorare con questa funzione non è diverso dal lavorare con qualsiasi altra funzione. Nel primo passaggio, è necessario selezionare y(x) nella categoria "Funzioni definite dall'utente", nel secondo passaggio, specificare la cella A2 come argomento x. Di conseguenza, la formula =y(A2) verrà scritta nella cella C2. Trascina questa formula sull'intero intervallo A2:A17 come mostrato in fig. 3. Ovviamente, il risultato dovrebbe essere lo stesso di quello che ottieni quando calcoli questa funzione usando i consueti strumenti del foglio di lavoro.

Fig 3. Funzione y(x) calcolata nel modo consueto e utilizzando una funzione definita dall'utente.

Dichiarazioni vba di base - Dichiarazioni condizionali

Le dichiarazioni condizionali hanno 2 forme:

1) Una riga

SE< условие>POI<оператор 1>

SE, ALLORA, ALTRO – servizio parole immutabili, tra parentesi angolari< >testo utente, questo è ciò che scrivi in ​​base all'attività, tra parentesi quadre è una parte facoltativa, il testo potrebbe mancare. Questo modulo viene solitamente utilizzato in caso di azioni semplici, ad esempio, quando si calcola il modulo di un numero y=x=abs(s), è possibile utilizzare il seguente operatore:

SE x > 0 ALLORA y = x ALTRIMENTI y = -x

2) In più righe. In questo caso, l'istruzione condizionale termina necessariamente con un'istruzione "ENDIF".

SE<условие>POI

<оператор 1>

<оператор 2>

<оператор 3>

<оператор 4>

Questo modulo viene utilizzato in calcoli complessi, ad esempio quando si calcolano le radici di un'equazione quadratica. Sia necessario trovare le radici dell'equazione a*x 2 +b*x+c= 0. Come sai, se b 2 -4*a*c≥ 0, allora le radici sono calcolate dalla formula
, se b 2 -4*a*c≤ 0, allora non ci sono radici nella regione dei numeri reali. L'operatore condizionale che implementa questo algoritmo è simile al seguente:

SE b^2 -4*a*c>= 0 ALLORA

X1 = (-b + (b^2 - 4*a*c)^(1/2)) / (2*a)

X2 = (-b + (b^2 + 4*a*c)^(1/2)) / (2*a)

X1 = “NESSUNA SOLUZIONE”

X2 = “NESSUNA SOLUZIONE”

Esempi di scrittura di funzioni personalizzate in vba

Esempio 1.

F
y(x)

y = Cos((x + 2) / 2) ^ 2 + Exp(-2 * x) / (x ^ 2 + 1) ^ 0,5

Funzione finale

Esempio 2

Funzione z(x)

Se x< 0 Then

z = (1 + x + x^2) / (1 + x^2)

Se x< 1 Then

z = (1 + 2 * x / (1 + x ^ 2)) ^ (1 / 2)

z = 2 * Abs(0,5 + Sin(x))

Funzione finale

Lezione 2

    Proprietà, metodi ed eventi di oggetti VBA. Una procedura di esempio che utilizza le singole proprietà dell'oggetto Application.

    Elementi di controllo

    Tipi di variabili in VBA

    Dichiarazioni di ciclo

    Esempio di tabulazione delle funzioni

Proprietà, metodi ed eventi di oggetti VBA. Una procedura di esempio che utilizza le singole proprietà dell'oggetto Application.

Continuiamo la nostra conoscenza del modello a oggetti VBA. Tutti gli oggetti sono organizzati in una struttura gerarchica, subordinata all'oggetto di primo livello "Applicazione".

Applicazione . Quaderni di lavoro ("Grafici") .

Se la cartella di lavoro (file) "Grafica" è attiva, è sufficiente specificare

Fogli di lavoro ("Contenuto"). Intervallo ("A1").

Se stai lavorando sul foglio "Contenuto", il collegamento sarà simile a Intervallo ("A1").

Tutti gli oggetti hanno proprietà, metodi ed eventi.

Proprietà questa è una caratteristica dell'oggetto (colore, forma, nome, posizione, visibilità, ecc.) Il valore dell'oggetto è impostato come segue:

Object.Property = valore della proprietà

Metodoè un'azione eseguita su un oggetto (apri, chiudi, elimina). Regola di immissione del metodo:

Un oggetto. Metodo

Eventoè l'azione riconosciuta dall'oggetto (clic del mouse, doppio clic, pressione di un tasto).

L'essenza della programmazione in VBA consiste in due concetti: un evento e una risposta ad esso. Se l'utente ha un impatto sul sistema (premendo un pulsante), che è un evento, utilizzando VBA è possibile programmare una risposta, un'azione di risposta.

Ecco alcune proprietà, metodi ed eventi degli oggetti principali.

Proprietà

Oggetto dell'applicazione

Didascalia (titolo dell'oggetto)

Esci (esci da Excel

NewWorkBook(crea una nuova cartella di lavoro)

AutoREcover (recupero automatico)

Salva

FoglioActivate(vai al foglio di lavoro)

Stile di riferimento (stile di collegamento)

Esegui (esecuzione macro)

WorkBookOpen(apri cartella di lavoro)

MemoryFree(informazioni sulla RAM libera)

Volatile (ricalcolare quando si cambia nelle celle del foglio di lavoro)

WorkBookBeforeClose(chiudi cartella di lavoro)

MemoryTotal(informazioni sulla RAM totale)

Calcola (calcolo in tutte le cartelle di lavoro aperte)

FoglioBeforeDoubleClick(doppio clic)

MemoryUsed(informazioni sulla RAM utilizzata)

IpputBox (immissione dati)

FoglioBeforeRightClick(clic destro)

CellDragAndDrop (gestisce le formule di trascinamento nelle celle)

Msgbox (visualizza messaggi)

ActiveCell, ActiveSheet (cella attiva, foglio)

Celle (intervallo di celle)

DisplayFormulaBar(visualizza la barra della formula)

DisplayScrollBar (visualizza le barre di scorrimento)

DisplayStatusBar(visualizza la barra di stato)

Le proprietà del metodo Applicazione consentono di impostare a livello di codice i valori di molte opzioni nella finestra Strumenti/Parametri. Ad esempio, utilizzando le procedure seguenti, è possibile modificare la visualizzazione predefinita della finestra di Excel, modificare il titolo, disabilitare l'azione di trascinamento della formula.

Queste procedure sono scritte nel modulo "Questo libro" e vengono eseguite all'apertura e alla chiusura della cartella di lavoro, ovvero quando vengono eseguiti gli eventi Open e Before Close:

Cartella di lavoro secondaria privata_open()

"Titolo cartella di lavoro

Application.Caption = "Kisa e Osya erano qui"

" Colore di sfondo della gamma A1:D1 - Rosso

"Limiti dell'intervallo A1:D1 - linea tratteggiata

"il trascinamento delle celle viene annullato CellDragAndDrops

Application.CellDragAndDrop = Falso

' la riga della formula viene rimossa

Application.DisplayFormulaBar = Falso

'rimuove le barre di scorrimento

Application.DisplayScrollBars = Falso

“Lo stile di riferimento è impostato su R1C1

Application.ReferenceStyle = xlR1C1

"Cartella di lavoro secondaria privata_BeforeClose(Annulla come booleano)

"Il trascinamento delle celle di CellDragAndDrops è in fase di ripristino

Application.CellDragAndDrop = True

'La barra della formula è stata ripristinata

Application.DisplayFormulaBar = True

'Ripristina le barre di scorrimento

Application.DisplayScrollBars = True

'Lo stile dei collegamenti A1 è stato ripristinato

Application.ReferenceStyle = xlA1

Pochi sanno che la prima versione del popolare prodotto Microsoft Excel è apparsa nel 1985. Da allora, ha subito diverse modifiche ed è richiesto da milioni di utenti in tutto il mondo. Allo stesso tempo, molte persone lavorano con solo una piccola parte delle capacità di questo elaboratore di fogli di calcolo e non sanno nemmeno come la capacità di programmare in Excel potrebbe semplificargli la vita.

Cos'è VBA

La programmazione in Excel viene eseguita utilizzando il linguaggio di programmazione Visual Basic for Application, originariamente integrato nel più famoso processore di fogli di calcolo di Microsoft.

Gli specialisti si riferiscono ai suoi vantaggi come a una relativa facilità di sviluppo. Come mostra la pratica, anche gli utenti che non hanno competenze di programmazione professionale possono padroneggiare le basi di VBA. Le funzionalità di VBA includono l'esecuzione di uno script in un ambiente applicativo per ufficio.

  • vai di nuovo alla riga "Macro";
  • selezionare “Macro 1” dall'elenco;
  • fare clic su "Esegui" (la stessa azione viene avviata avviando la combinazione di tasti "Ctrl + hh").

Di conseguenza, si verifica l'azione, che è stata eseguita durante il processo di registrazione di una macro.

Ha senso vedere come appare il codice. Per fare ciò, torna alla riga "Macro" e fai clic su "Cambia" o "Invio". Di conseguenza, finiscono in un ambiente VBA. In realtà, il codice della macro stesso si trova tra le righe Sub Macro1() e End Sub.

Se la copia è stata eseguita, ad esempio, dalla cella A1 alla cella C1, una delle righe di codice apparirà come Intervallo ("C1").Seleziona. Nella traduzione, sembra "Intervallo ("C1"). Seleziona", in altre parole, passa a VBA Excel, alla cella C1.

La parte attiva del codice viene completata dal comando ActiveSheet.Paste. Significa scrivere il contenuto della cella selezionata (in questo caso, A1) nella cella selezionata C1.

Esempio 2

I loop VBA ti aiutano a creare varie macro in Excel.

I loop VBA ti aiutano a creare varie macro. Supponiamo che esista una funzione y=x + x2 + 3x3 - cos(x). È necessario creare una macro per ottenere la relativa pianificazione. Questo può essere fatto solo usando i loop VBA.

Per i valori iniziali e finali dell'argomento della funzione, vengono presi x1=0 e x2=10. Inoltre, è necessario inserire una costante: il valore per il passaggio di modifica dell'argomento e il valore iniziale per il contatore.

Tutti gli esempi di macro VBA Excel vengono creati utilizzando la stessa procedura di cui sopra. In questo caso particolare, il codice è simile a:

Fai mentre x1< x2 (цикл будeт выполняться пока вeрно выражeниe x1 < x2)

y=x1 + x1^2 + 3*x1^3 - Cos(x1)

Celle(i, 1).Valore = x1 (il valore x1 viene scritto nella cella con le coordinate (i,1))

Celle(i, 2).Valore = y (il valore di y viene scritto nella cella con le coordinate (i,2))

i = i + 1 (contatore attivo);

x1 = x1 + passo (l'argomento viene modificato dalla dimensione del passo);

Come risultato dell'esecuzione di questa macro in Excel, otteniamo due colonne, la prima delle quali contiene i valori per x e la seconda per y.

Quindi, su di essi viene costruito un grafico in un modo standard per Excel.

Esempio 3

Per implementare i loop in VBA Excel 2010, come in altre versioni, insieme al costrutto Do While già fornito, viene utilizzato For.

Considera un programma che creerà una colonna. In ciascuna delle sue celle verranno scritti i quadrati del numero della riga corrispondente. L'uso del costrutto For ti consentirà di scriverlo molto brevemente, senza utilizzare un contatore.

Per prima cosa devi creare una macro, come descritto sopra. Quindi, annota il codice stesso. Riteniamo di essere interessati ai valori per 10 celle. Il codice è simile a questo.

Per i = da 1 a 10 Avanti

Il comando è tradotto nel linguaggio "umano" come "Ripeti da 1 a 10 con incrementi di uno".

Se il compito è ottenere una colonna con quadrati, ad esempio tutti i numeri dispari nell'intervallo da 1 a 11, scriviamo:

Per i = da 1 a 10 passaggio 1 Avanti.

Qui il passo è un passo. In questo caso è uguale a due. Di default, l'assenza di questa parola nel ciclo significa che il passo è singolo.

I risultati ottenuti devono essere salvati nelle celle con il numero (i,1). Quindi ad ogni inizio del ciclo con un aumento di i della dimensione del passo, il numero di riga aumenterà automaticamente. Pertanto, si verificherà l'ottimizzazione del codice.

In generale, il codice sarà simile a:

For i = 1 To 10 Step 1 (puoi scrivere semplicemente For i = 1 To 10)

Celle(i, 1).Valore = i ^ 2

Avanti (in un certo senso, svolge il ruolo di contatore e significa un altro inizio del ciclo)

Se tutto viene eseguito correttamente, inclusa la registrazione e l'esecuzione della macro (vedi istruzioni sopra), ogni volta che viene chiamata si otterrà una colonna della dimensione specificata (in questo caso, composta da 10 celle).

Esempio 4

Nella vita di tutti i giorni, molto spesso è necessario prendere l'una o l'altra decisione, a seconda di alcune condizioni. Non puoi farne a meno in VBA Excel. Esempi di programmi in cui viene scelto l'ulteriore corso dell'esecuzione dell'algoritmo, e inizialmente non predeterminato, utilizzano molto spesso la costruzione If ... Then (per casi complessi) If ... Then ... END If.

Consideriamo un caso specifico. Supponiamo di dover creare una macro per "Excel" in modo che la cella con le coordinate (1,1) sia scritta:

1 se l'argomento è positivo;

0 se l'argomento è nullo;

1 se l'argomento è negativo.

La creazione di tale macro per "Excel" inizia in modo standard, tramite l'utilizzo dei tasti "caldi" Alt e F11. Successivamente, viene scritto il seguente codice:

x= Celle(1, 1).Valore (questo comando assegna il valore x del contenuto della cella alle coordinate (1, 1))

Se x>0 Allora Celle(1, 1).Valore = 1

Se x=0 Allora Celle(1, 1).Valore = 0

Se x<0 Then Cells(1, 1).Value = -1

Resta da eseguire la macro e ottenere il valore desiderato per l'argomento in Excel.

Funzioni VBA

Come avrai notato, la programmazione nel processore di fogli di calcolo più famoso di Microsoft non è così difficile. Soprattutto se impari come utilizzare le funzioni VBA. In totale, questo linguaggio di programmazione, creato appositamente per la scrittura di applicazioni in Excel e Word, ha circa 160 funzioni. Possono essere divisi in diversi grandi gruppi. Questo:

  • Funzioni matematiche. Applicandoli all'argomento, ottengono il valore del coseno, logaritmo naturale, parte intera, ecc.
  • Funzioni finanziarie. Grazie alla loro presenza e all'utilizzo della programmazione in Excel, puoi ottenere strumenti efficaci per calcoli contabili e finanziari.
  • Funzioni di elaborazione di array. Questi includono Array, IsArray; llegato; UBound.
  • Funzioni VBA Excel per riga. Questo è un gruppo abbastanza grande. Include, ad esempio, le funzioni Space per creare una stringa con il numero di spazi pari a un argomento intero o Asc per convertire i caratteri in codice ANSI. Tutti hanno un'ampia applicazione e ti permettono di lavorare con le stringhe in Excel, creando applicazioni che facilitano notevolmente il lavoro con queste tabelle.
  • Funzioni di conversione del tipo di dati. Ad esempio, CVar restituisce il valore di un argomento Expression convertendolo in un tipo di dati Variant.
  • Funzioni per lavorare con le date. Espandono significativamente le capacità standard di Excel. Quindi, la funzione WeekdayName restituisce il nome (completo o parziale) del giorno della settimana in base al suo numero. Ancora più utile è il Timer. Fornisce il numero di secondi trascorsi da mezzanotte a una determinata ora del giorno.
  • Funzioni per convertire un argomento numerico in diversi sistemi numerici. Ad esempio, Oct restituisce un numero in ottale.
  • Funzioni di formattazione. Il più importante di questi è Formato. Restituisce un valore di tipo Variant con un'espressione formattata secondo le istruzioni fornite nella descrizione del formato.
  • eccetera.

Lo studio delle proprietà di queste funzioni e della loro applicazione amplierà notevolmente l'ambito di Excel.

Esempio 5

Proviamo a passare alla risoluzione di problemi più complessi. Per esempio:

Viene fornito un documento cartaceo della relazione sul livello effettivo dei costi dell'impresa. Necessario:

  • per sviluppare la sua parte del modello utilizzando il processore di fogli di calcolo "Excel";
  • creare un programma VBA che richiederà i dati iniziali per compilarlo, eseguire i calcoli necessari e compilare con essi le celle corrispondenti del modello.

Consideriamo una delle soluzioni.

Crea un modello

Tutte le azioni vengono eseguite su un foglio standard in Excel. Le celle libere sono riservate all'inserimento dei dati relativi a mese, anno, nome dell'azienda consumatrice, importo dei costi, livello e fatturato. Poiché il numero di società (aziende) in relazione alle quali viene compilato il report non è fisso, le celle per l'inserimento dei valori in base ai risultati e il nome completo dello specialista non sono riservate in anticipo. Al foglio di lavoro viene assegnato un nuovo nome. Ad esempio, "tchet".

Variabili

Per scrivere un programma per compilare automaticamente un modello, devi scegliere la notazione. Saranno utilizzati per le variabili:

  • NN - numero della riga corrente della tabella;
  • TP e TF - fatturato pianificato ed effettivo;
  • SF e SP - importo effettivo e pianificato dei costi;
  • IP e IF - livello di costi pianificato ed effettivo.

Indichiamo con le stesse lettere, ma con "prefisso" Itog accumulazione del totale sulla colonna data. Ad esempio, ItogTP - si riferisce alla colonna della tabella, intitolata "fatturato pianificato".

Risolvere un problema utilizzando la programmazione VBA

Usando la notazione introdotta, otteniamo formule per le deviazioni. Se è necessario eseguire il calcolo in%, abbiamo (F - P) / P * 100, e in totale - (F - P).

I risultati di questi calcoli possono essere inseriti immediatamente nelle apposite celle del foglio di calcolo Excel.

Per i totali effettivi e previsionali si ottiene utilizzando le formule ItogP=ItogP + P e ItogF=ItogF+ F.

Per gli scostamenti, utilizzare = (ItogF - ItogP) / ItogP * 100, se il calcolo viene eseguito in percentuale, e nel caso di un valore totale - (ItogF - ItogP).

I risultati vengono nuovamente scritti immediatamente nelle celle appropriate, quindi non è necessario assegnarli a variabili.

Prima di eseguire il programma creato, è necessario salvare la cartella di lavoro, ad esempio con il nome "Report1.xls".

Il pulsante "Crea tabella di reporting" deve essere premuto solo 1 volta dopo aver inserito le informazioni di intestazione. Ci sono altre regole di cui essere a conoscenza. In particolare, il pulsante "Aggiungi Riga" va premuto ogni volta dopo aver inserito i valori per ogni tipo di attività nella tabella. Dopo aver inserito tutti i dati, è necessario fare clic sul pulsante "Fine" e quindi passare alla finestra "Excel".

Ora sai come risolvere i problemi per Excel usando le macro. La capacità di utilizzare vba excel (vedi esempi di programmi sopra) potrebbe essere necessaria anche per lavorare nell'ambiente dell'editor di testo attualmente più popolare "Word". In particolare è possibile creare pulsanti di menu scrivendo, come mostrato all'inizio dell'articolo, oppure scrivendo un codice, grazie al quale è possibile eseguire molte operazioni sul testo premendo i tasti di servizio o tramite il tab "Visualizza" e l'icona "Macro".


Libro: Utilizzo delle macro in Excel.

Pagine: 507

Formato: DJVU
La dimensione: 8,02 Mb

Nonostante la potente funzionalità fornita dall'interfaccia utente di Excel, ci sono alcune attività che possono essere eseguite solo a livello di codice. Il libro "Utilizzo delle macro in Excel" è un'introduzione alla programmazione in Excel VBA, contenente esempi di risoluzione di vari problemi pratici che sorgono quando si lavora in Excel.Il materiale del libro è destinato agli utenti di Excel, nonché ai programmatori che non hanno familiarità con il modello a oggetti di Excel. Insieme alle sezioni sullo sviluppo di macro per Excel 2002, questo è un corso introduttivo sulla scrittura di macro e programmi in ambiente Excel.

Libro: Corso intensivo del fine settimana di programmazione Excel

Editore: Dialettica
Pagine: 421
Formato: DJVU
La dimensione: 12,6 MB
Qualità: Normale
Lingua: russo
Genere: programmazione
L'anno di pubblicazione: 2004
ISBN: 5-8459-0687-3

Le funzionalità di Microsoft Excel non si limitano all'utilizzo delle tabelle di dati. Dietro gli strumenti del foglio di calcolo c'è un potente linguaggio di programmazione: VBA (Visual Basic for Applications). Tuttavia, quasi tutti gli utenti hanno l'opportunità di imparare a scrivere programmi in linguaggio VBA per risolvere i compiti più diversi in Excel - dall'esecuzione meccanica di calcoli alla creazione di un sistema di immissione dati con le proprie maschere e con la probabilità di revisione della correttezza dei valori digitati.

Libro: Programmazione in VBA 2002

Qualità: Normale
Lingua: russo
Genere: programmazione

Il volume contiene un corso sulla programmazione in Visual Basic, Applications Edition (VBA), che è la lingua di base nelle applicazioni di Microsoft Office (Word, Excel, Access, PowerPoint, FrontPage, Visio, ecc.). Il libro è destinato ai principianti per programmare in ambiente Windows utilizzando oggetti Word, Excel, PowerPoint.Parte del libro è dedicata allo sviluppo di applicazioni Office che utilizzano database archiviati sia in file separati che su server remoti.Il materiale del libro è sufficiente per apprendere le basi del linguaggio Visual Basic e creare semplici macro che aiutano ad automatizzare il lavoro ripetitivo di routine con documenti, fogli di calcolo, diagrammi, presentazioni, ecc., nonché per sviluppare applicazioni di elaborazione di database abbastanza complesse utilizzando dialog scatole che forniscono all'utente i più moderni strumenti di interfaccia.La maggior parte degli esempi nel libro sono dedicati a questioni aziendali attuali, quindi il libro sarà molto utile per i manager di vari livelli, che, a quanto pare, è destinato sia a Microsoft Office che al linguaggio di programmazione VBA integrato.
Le appendici alla fine del libro possono servire come riferimento utile quando si lavora sia con VBA che con VB normale.

Libro: Programmazione VBA professionale in Excel 2003
John Walkenbach
Editore: Williams
Formato: PDF
La dimensione: 11 Mb
Qualità: Eccellente
Lingua: russo
L'anno di pubblicazione: 2005
ISBN: 5-8459-0771-3
Il libro viene fornito con un disco.

Molti libri sono stati scritti su Excel. Ma questo libro è speciale: esamina lo sviluppo di applicazioni per fogli di calcolo in un contesto più ampio. VBA è solo un componente dell'ambiente di sviluppo di applicazioni personalizzate, anche se essenziale. Questo libro ti aiuterà a comprendere le complessità dello sviluppo di applicazioni utilizzando VBA. Descrive le molte caratteristiche del linguaggio VBA, le sue capacità e l'ambiente di utilizzo.In primo luogo, ti verrà offerta una panoramica delle capacità del programma, quindi passerai alla definizione dei concetti di programmazione VBA, quindi familiarizzerai con il lingua stessa. Se sei un programmatore VBA alle prime armi, in questa pubblicazione troverai tutte le informazioni necessarie che saranno richieste per ulteriori lavori. se hai già un'esperienza invidiabile con VBA, allora questo libro arricchirà e aumenterà le tue conoscenze, reintegrandole con nuove tecniche ed esempi di vita reale.

Versione pdf curata e per gentile concessione di .

Libro: :
John Walkenbach
Editore: Wiley
Formato: PDF
Pagine: 1308
La dimensione: 11,9 MB
Qualità: Eccellente
Lingua: inglese
L'anno di pubblicazione: 2010
Questo libro si concentra su Visual Basic for Applications (VBA), il linguaggio di programmazione integrato in Excel (e altre applicazioni che compongono Microsoft Office). Più specificamente, ti mostrerà come scrivere programmi che automatizzano varie attività in Excel. Questo libro copre tutto, dalla registrazione di semplici macro alla creazione di sofisticate applicazioni e utilità orientate all'utente. Questo libro non copre gli strumenti di Microsoft Visual Studio per Office (VSTO). VSTO è una tecnologia relativamente nuova che utilizza Visual Basic .NET e Microsoft Visual C#. VSTO può essere utilizzato anche per controllare Excel e altre applicazioni di Microsoft Office.
Questo non è un libro per utenti principianti di Excel. Se non hai esperienza con Excel, una scelta migliore potrebbe essere la Bibbia di Excel 2010, che fornisce una copertura completa di tutte le funzionalità di Excel. Quel libro è pensato per utenti di tutti i livelli.

Libro: : Programmazione VBA professionale in Excel 2010
John Walkenbach
Editore: Dialettica
Formato: PDF
Pagine:920
La dimensione: 22,1 MB
Qualità: Eccellente
Lingua: russo
L'anno di pubblicazione: 2010 L'argomento di questo libro è il linguaggio di programmazione Visual Basic for Applications (VBA), che è integrato in Excel e in altre applicazioni incluse in Microsoft Office. Descrive in dettaglio la creazione di programmi che automatizzano l'esecuzione di varie attività in Excel e copre anche un'ampia gamma di altri argomenti, dalla scrittura delle macro più semplici alla creazione delle applicazioni e delle utilità più complesse progettate per l'interazione dell'utente. Questo libro non descrive il pacchetto software Microsoft Visual Studio Tools for Office (VSTO). È un'implementazione di una tecnologia relativamente nuova che utilizza Visual Basic .NET e Microsoft Visual C#. VSTO può essere utilizzato anche per controllare il comportamento di Excel e di altre applicazioni di Microsoft Office.

Questo libro non è destinato agli utenti inesperti di Excel. Se non hai esperienza con questa applicazione, leggi prima il libro della Bibbia per l'utente di Excel 2010, che descrive in dettaglio tutte le funzionalità di Excel (è rivolto a utenti di tutti i livelli).


Libro:Esercitazione VBA
Garnaev A.
Editore: bhv
Pagine: 512
Formato: html con immagini in rar
ISBN: 5-8206-0067-3
La dimensione: 2,22 MB

Eccellente

Lingua: inglese
L'anno di pubblicazione: 2009

Microsoft Excel è molto più di un semplice foglio di calcolo. Con l'introduzione di Visual Basic Editor in Excel 97, seguita dalla stabilità notevolmente migliorata di Excel 2000, Excel è diventato una piattaforma di sviluppo rispettata a sé stante. Le applicazioni Excel si trovano ora insieme a quelle basate su C++, Java e la piattaforma di sviluppo .NET, come parte della suite principale di applicazioni aziendali mission-critical.
Sfortunatamente, Excel è ancora troppo spesso considerato una piattaforma per hobbisti, in quanto le persone sviluppano applicazioni Excel solo nel loro tempo libero per automatizzare attività minori. Un breve sguardo a molti libri VBA di Excel sembra confermare questa opinione. Questi libri si concentrano sulle basi dell'automazione delle attività di Excel utilizzando VBA. Questo libro è il primo del suo genere a fornire una spiegazione dettagliata di come utilizzare Excel come piattaforma per lo sviluppo di applicazioni di qualità professionale.
Mentre la maggior parte delle altre principali piattaforme di sviluppo sembra avere un testo standard de facto che spiega le migliori pratiche comunemente concordate per l'architettura, la progettazione e lo sviluppo di applicazioni che utilizzano tale piattaforma, fino ad ora Excel non lo ha fatto. Questo libro cerca di colmare questa lacuna. Gli autori sono sviluppatori Excel professionisti che creano applicazioni basate su Excel per clienti che vanno dai privati ​​alle più grandi multinazionali. Questo libro spiega gli approcci che utilizziamo durante la progettazione, lo sviluppo, la distribuzione e il supporto delle applicazioni che scriviamo per i nostri clienti.
Questo libro è stato fornito dall'utente

I seguenti semplici esempi di macro di Excel illustrano alcune delle funzionalità e delle tecniche descritte nell'esercitazione VBA di Excel.

Esempio di macro di Excel 1

Inizialmente, questa procedura Subè stato fornito come esempio di utilizzo dei commenti nel codice VBA. Tuttavia, qui puoi anche vedere come vengono dichiarate le variabili, come funzionano i riferimenti alle celle di Excel, l'uso di un ciclo Per, operatore condizionale Se e visualizzando una finestra di messaggio.

"La procedura Sub cerca una cella contenente la stringa data "nell'intervallo di celle A1:A100 del foglio di lavoro attivo Sub Find_String(sFindText As String) Dim i As Integer "Un intero di tipo Integer, utilizzato in un ciclo For Dim iRowNumber As Integer "Un intero di tipo Integer per la memorizzazione del risultato iRowNumber = 0 "Esamina le celle A1:A100 una per una finché non viene trovata la stringa sFindText For i = 1 To 100 If Cells(i, 1).Value = sFindText Then " Se viene trovata una corrispondenza con la stringa data " salva il numero di riga corrente ed esci dal ciclo For iRowNumber = i Esci per Fine Se Successivo i "Informa l'utente in una finestra pop-up se la riga cercata è stata trovata" Se la riga specificata è trovato, indicare in quale cella è stata trovata la corrispondenza Se iRowNumber = 0 Allora MsgBox "Row" & sFindText & " non trovato" Altrimenti MsgBox "String " & sFindText & " trovato nella cella A" & iRowNumber End If End Sub

Esempio di macro di Excel 2

Prossima procedura Sub- un esempio di utilizzo di un loop Fare durante. Qui puoi anche vedere come vengono dichiarate le variabili, lavorare con i riferimenti di cella di Excel e applicare un operatore condizionale. Se.

"La procedura secondaria emette numeri di Fibonacci non superiori a 1000 Sub Fibonacci() Dim i As Integer "Contatore per indicare la posizione dell'elemento nella sequenza Dim iFib As Integer "Memorizza il valore corrente della sequenza Dim iFib_Next As Integer "Memorizza il valore successivo della sequenza Dim iStep As Integer " Memorizza la dimensione dell'incremento successivo "Inizializza le variabili i e iFib_Next i = 1 iFib_Next = 0 "Il ciclo Do While verrà eseguito fino a quando il valore del "numero di Fibonacci corrente" supera 1000 Do While iFib_Next< 1000 If i = 1 Then "Особый случай для первого элемента последовательности iStep = 1 iFib = 0 Else "Сохраняем размер следующего приращения перед тем, как перезаписать "текущее значение последовательности iStep = iFib iFib = iFib_Next End If "Выводим текущее число Фибоначчи в столбце A активного рабочего листа "в строке с индексом i Cells(i, 1).Value = iFib "Вычисляем следующее число Фибоначчи и увеличиваем индекс позиции элемента на 1 iFib_Next = iFib + iStep i = i + 1 Loop End Sub

Esempio di macro di Excel 3

Questa procedura Sub scansiona le celle di una colonna UN foglio attivo finché non incontra una cella vuota. I valori vengono scritti in un array. Questa semplice macro di Excel mostra come lavorare con gli array dinamici e come utilizzare un ciclo. Fai fino a. In questo esempio, non eseguiremo alcuna azione con l'array, sebbene nella pratica di programmazione reale, dopo che i dati sono stati scritti nell'array, tali azioni vengono generalmente eseguite su di esso.

"La procedura Sub memorizza i valori delle celle della colonna A del foglio attivo nell'array Sub GetCellValues() Dim iRow As Integer "Memorizza il numero della riga corrente Dim dCellValues() As Double "Un array per la memorizzazione dei valori delle celle ​iRow = 1 ReDim dCellValues(1 To 10) "Do Loop Until itera attraverso le celle della colonna A del foglio attivo" ed estrae i loro valori in un array finché non viene trovata una cella vuota Do Until IsEmpty(Cells(iRow, 1)) "Verifica che l'array dCellValues ​​sia di dimensioni sufficienti" array per 10 con ReDim If UBound(dCellValues)< iRow Then ReDim Preserve dCellValues(1 To iRow + 9) End If "Сохраняем значение текущей ячейки в массиве dCellValues dCellValues(iRow) = Cells(iRow, 1).Value iRow = iRow + 1 Loop End Sub

Esempio di macro di Excel 4

In questo esempio, la procedura Sub legge i valori da una colonna UN foglio di lavoro Foglio2 ed esegue operazioni aritmetiche su di essi. I risultati vengono inseriti nelle celle della colonna UN sul foglio di lavoro attivo. Questa macro illustra l'utilizzo degli oggetti di Excel. In particolare, viene utilizzata la procedura Sub all'oggetto colonne e mostra come si accede a questo oggetto tramite l'oggetto Foglio di lavoro. Viene inoltre mostrato che quando si fa riferimento a una cella oa un intervallo di celle del foglio attivo, non è necessario specificare il nome di questo foglio quando si scrive un collegamento.

"La procedura Sub scorre i valori nella colonna A del foglio di lavoro Foglio2", "esegue operazioni aritmetiche su ciascun valore e scrive il risultato nella colonna A del foglio di lavoro attivo (Foglio1) Sub Transfer_ColA() Dim i As Integer Dim Col As Intervallo Dim dVal As Double "Assegna alla colonna Col variabile A del foglio di lavoro Foglio 2 Imposta Col = Fogli ("Foglio2"). Colonne ("A") i = 1 "Utilizzando un ciclo, leggi i valori delle celle della colonna Col fino a quando "viene rilevata una cella vuota Do Until IsEmpty(Col.Cells(i)) "Esegui operazioni aritmetiche sul valore della cella corrente dVal = Col.Cells(i).Value * 3 - 1 "Il seguente comando scrive il risultato in colonna A del foglio di lavoro attivo non è necessaria in quanto questa è la foglia attiva Cells(i, 1) = dVal i = i + 1 Loop End Sub

Esempio di macro di Excel 5

Questa macro mostra un esempio di codice VBA in ascolto di un evento di Excel. L'evento a cui è associata la macro si verifica ogni volta che una cella o un intervallo di celle viene selezionato nel foglio di lavoro. Nel nostro caso, quando si seleziona una cella B1, verrà visualizzata una finestra di messaggio.

"Questo codice mostra una finestra di messaggio se la cella B1 è selezionata nel foglio di lavoro corrente. Private Sub Worksheet_SelectionChange(ByVal Target As Range) "Verifica se la cella B1 è selezionata se Target.Count = 1 e Target.Row = 1 e Target.Column = 2 Quindi "Se è selezionata la cella B1, eseguire l'azione richiesta MsgBox "Hai selezionato la cella B1" End If End Sub

Esempio di macro di Excel 6

Un esempio di questa procedura mostra l'uso degli operatori In errore e Riepilogo per la gestione degli errori. Questo codice mostra anche un esempio di apertura e lettura di dati da un file.

"La procedura Sub imposta i valori delle celle A1 e B1 sugli argomenti Val1 e Val2" dalla cartella di lavoro Data.xlsx situata nella cartella C:\Documents and Settings Sub Set_Values(Val1 As Double, Val2 As Double) Dim DataWorkbook As Workbook On Error GoTo ErrorHandling "Apri una cartella di lavoro con set di dati DataWorkbook = Workbooks.Open("C:\Documents and Settings\Data") "Assegna valori alle variabili Val1 e Val2 dalla cartella di lavoro specificata Val1 = Fogli("Foglio1 ").Cells(1, 1) Val2 = Sheets("Sheet1").Cells(1, 2) DataWorkbook.Close Exit Sub ErrorHandling: "Se il file non viene trovato, all'utente verrà chiesto di inserire il file cercato " nella cartella corretta e quindi continuare con la macro MsgBox "Il file Data.xlsx non è stato trovato!" & _ "Aggiungi la cartella di lavoro a C:\Documents and Settings e fai clic su OK" Resume End Sub

Articoli correlati in alto