Finestre.  Virus.  I Quaderni.  Internet.  ufficio.  Utilità.  Autisti

Viene eseguito utilizzando le funzioni integrate InputBox, MsgBox, modificando determinate proprietà di determinati oggetti o applicando loro metodi appropriati.

Inserimento dati

I valori delle variabili possono essere inseriti:

    Utilizzando la funzioneInputBox, che visualizza la propria finestra quando il programma viene eseguito. Il valore restituito dalla funzione InputBox è di tipo stringa. Pertanto, per utilizzare il valore immesso come variabile numerica, è necessario convertirlo ulteriormente in un tipo numerico utilizzando la funzione Val. Ad esempio, per inserire il valore del numero 5.25 in una variabile, dovresti scrivere la seguente riga di codice:

a = Val(InputBox("Inserisci a", "Input"))

2) Utilizzando una casella di testocasella di testo. La form deve contenere una casella di testo, ad esempio Text1, e nella procedura evento, ad esempio, per cliccare su un pulsante di comando, deve essere scritto codice programma che utilizzi la proprietà text dell'oggetto Text1:

Sottocomando privato1_Click()

a = Val(Testo1.testo)

Anche la proprietà text dell'oggetto Text1 ha un valore stringa, quindi deve essere convertita in un valore numerico utilizzando la funzione Val.

Uscita dei risultati

Esistono vari modi per visualizzare i risultati in VB.

    L'istruzione principale per l'output di valori variabili in VB è l'istruzione Print, che in termini di programmazione orientata agli oggetti è considerata come metodo, agendo sull'oggetto, sul quale verranno visualizzati i valori specificati nell'elenco. I principali oggetti per i quali esiste un metodo Print sono il formForm, e il grafico windowPictureBox.

Se l'oggetto a cui viene applicato il metodo Print non è specificato, l'elenco dei valori viene visualizzato sul modulo attivo. Ad esempio, dopo aver eseguito una riga di codice:

    È possibile visualizzare il valore di una variabile utilizzando la funzione MsgBox che, quando eseguita, attiva la propria finestra di messaggio sullo schermo.

Sottocomando privato1_Click()

    È possibile eseguire il rendering dell'output in un TextBox modificandone la proprietà Text

Testo1.testo=str(a)

Tieni presente che la proprietà Text funziona su una stringa di caratteri, quindi il numero di output viene convertito in una stringa di caratteri utilizzando la funzione str.

    L'output può essere visualizzato nell'etichetta Label modificandone la proprietà Caption:

Label1.Caption=”Risultato” & str(a)

Il segno & (+) indica la concatenazione di due variabili stringa.

Funzione di formato

Nella visualizzazione dei risultati, per maggiore chiarezza, viene spesso utilizzata la funzione Format, che restituisce un valore di tipo Variant (Stringa) contenente un'espressione formattata secondo le indicazioni fornite nella descrizione del formato.

Sintassi

Formato (Espressione[, Formato[, PrimoGiornoSettimana[, PrimaSettimanaAnno]]])

Espressione - argomento richiesto - qualsiasi espressione valida da formattare.

Format - un argomento facoltativo - qualsiasi espressione di formato valida denominata o definita dall'utente (modello di formato).

Quando si formattano i numeri senza specificare un modello di formato, la funzione Format produce lo stesso risultato della funzione Str, ovvero restituisce una stringa che rappresenta un numero. La differenza è che quando si converte un numero positivo utilizzando la funzione Format, lo spazio all'inizio della stringa (al posto del segno del numero) viene perso e, quando viene convertito utilizzando la funzione Str, rimane

Esempi di modelli di formato utilizzati per creare formati numerici personalizzati

stampa Formato(6.789, "00.0000") " restituirà 06.7890

stampa Formato(6.789, "##.0000") " restituirà 6.7890

Metodo Cellule rende attiva la cella specificata. La sintassi del metodo è la seguente:

Celle[(N righe, N colonne)]

N righe - numero di riga del foglio Excel corrente ,

Colonna N - numero della colonna del foglio Excel corrente (quando si chiama questo metodo, le colonne sono numerate).

IN questa opzione la sintassi presuppone che sul foglio attivo Cella Excel situato all'incrocio N righe E colonna N, diventa attivo.

Usando il metodo Celluleè possibile rendere attiva una cella in modo da poter inserire o visualizzare i dati.

Se viene utilizzato questo metodo inserimento dati da una cella del foglio di lavoro a una variabile, quindi Cellule si trova sul lato destro dell'operatore di assegnazione e if conclusione da una variabile a una cella del foglio di lavoro, quindi Celluleè sul lato sinistro di esso.

Struttura di input, utilizzando il metodo Cellule Prossimo:

< Nome>=Celle( ),

< Nome> - variabile semplice o elemento di matrice.

struttura di uscita utilizzando il metodo Cellule Prossimo:

Celle( )= < espressione>,

< espressione> - qualsiasi valore di uscita.

Si consideri l'esempio del seguente programma:

Sub I/O_Cells()

Celle(5, 1) = "c="

Prima di eseguire questa macro, il foglio di lavoro di Excel aveva il seguente aspetto (vedere la Figura 13):

E dopo aver eseguito la macro, appare così (vedi Fig. 14):

Strutture di controllo VBA. Operatore condizionale. Operatore di salto incondizionato

Strutture di controllo consentono di controllare la sequenza di esecuzione del programma. Senza istruzioni di controllo, tutte le istruzioni del programma verrebbero eseguite da sinistra a destra e dall'alto verso il basso. Considera una delle strutture di controllo VBA - operatore condizionale .

Operatore condizionale viene utilizzato quando è necessario eseguire uno o un gruppo di istruzioni a seconda del valore di una condizione.

Sintassi dell'operatore condizionale:

forma breve Þ Se<условие>Poi<оператор>

Se< условие >Poi

< оператор > /< Группа операторов 1 >

Modulo completo Þ Se< условие >Poi

< оператор 1 > / < Группа операторов 1 >

< оператор 2> < Группа операторов 2 >

Nello schema a blocchi, l'istruzione condizionale è rappresentata come segue:

Di solito la condizione è un semplice confronto, ma può essere qualsiasi espressione con un valore calcolato. Questo valore viene interpretato come False (False) se è zero e qualsiasi valore diverso da zero viene considerato True (True). Se la condizione è vera, tutte le espressioni successive parola chiave Poi. Se la condizione è falsa, vengono eseguite tutte le espressioni dopo la parola chiave. Altro.

Sono consentiti più costrutti nidificati, con tutti i livelli di nidificazione necessari.

Considerane un altro struttura di governo - Operatore di salto incondizionato. La sua sintassi è:

vai a etichetta,

Dove etichettaè qualsiasi combinazione di caratteri.

Questa istruzione modifica forzatamente la sequenza di esecuzione del programma. L'istruzione GoTo trasferisce il controllo all'istruzione con etichetta, ad es. dopo l'istruzione GoTo, verrà eseguita l'istruzione specificata dall'etichetta.

Strutture di controllo VBA. Operatori di ciclo.

A volte è necessario eseguire ripetutamente un certo insieme di istruzioni automaticamente, oppure risolvere il problema in modo diverso a seconda del valore delle variabili o dei parametri impostati dall'utente durante l'esecuzione. Per questo, vengono utilizzati l'operatore condizionale e gli operatori di loop.

Considera gli operatori Ciclo VBA. Loop con un numero noto di ripetizioni(loop con parametro) implementato in VBA con l'operatore Per il prossimo la seguente struttura:

Per<параметр цикла>= <начальное значение> A<конечное значение>

<Dichiarazioni VBA>

Prossimo<параметр цикла>

<параметр цикла>– nome (identificativo) del parametro del ciclo;

<начальное значение> è il valore iniziale del parametro del ciclo;

<конечное значение>è il valore finale del parametro loop;

<шаг>– passo cambio parametro ciclo (parametro facoltativo, se assente il passo cambio è uguale a 1);

<операторы VBA>

Nello schema a blocchi, questo operatore è rappresentato come segue:

Nel corpo di questo ciclo è possibile utilizzare l'operatore Esci per, con cui puoi completare il ciclo Per il prossimo prima che il parametro assuma il suo valore finale.

Loop con un numero sconosciuto di ripetizioni sono implementati in VBA utilizzando le istruzioni Do While … Loop, Do Until … Loop, Do … Loop While, Do … Loop Until.

Si consideri la struttura dell'istruzione Do While... Loop.

Fare durante<условие>

<операторы VBA>

Qui <условие> espressione booleana;

<операторы VBA> - Dichiarazioni VBA che implementano il corpo del ciclo.

<условие>, Se<условие>assume il valore True, vengono eseguite le istruzioni fino alla parola di servizio Loop. Quindi la condizione viene nuovamente verificata e così via fino a quando la condizione diventa falsa (False).

Si consideri la struttura dell'operatore Do Until... Loop.

Fare fino a<условие>

<операторы VBA>

L'operatore viene eseguito come segue. Controllato<условие>, Se<условие>assume il valore False, vengono eseguite le istruzioni fino alla parola di servizio Loop. Quindi la condizione viene nuovamente verificata e così via fino a quando la condizione diventa vera (True).

Nello schema a blocchi, questo operatore è rappresentato come segue:

Abbiamo esaminato le istruzioni di ciclo che implementano un ciclo con una precondizione.

Considera gli operatori di ciclo che implementano un ciclo con una postcondizione. Queste sono le istruzioni Do... Loop While e Do... Loop Until. La struttura di questi operatori è la seguente:

<операторы VBA>

Ciclo fino a<условие>

<условие>, Se<условие>assume il valore False, quindi vengono nuovamente eseguite le istruzioni fino alla parola di servizio Loop. Questo continua fino a quando<условие>non diventerà vero (Vero).

Nello schema a blocchi, questo operatore è rappresentato come segue:

<операторы VBA>

loop mentre<условие>

L'operatore viene eseguito come segue. Vengono eseguiti gli operatori fino alla parola di servizio Loop. Quindi controllato<условие>, Se<условие>assume il valore True, quindi vengono eseguite nuovamente le istruzioni fino alla parola di servizio Loop. Questo continua fino a quando<условие>non diventerà falso (falso).

Nello schema a blocchi, questo operatore è rappresentato come segue:

In VBA esiste un operatore che consente di uscire anticipatamente dai loop con un numero imprecisato di ripetizioni. Per uscire da questi cicli, è necessario utilizzare l'operatore Esci Esegui.

In questo articolo imparerai come creare una finestra di messaggio in VBA Excel che può visualizzare varie informazioni.

Funzione MsgBox visualizza una finestra di messaggio e attende che l'utente faccia clic su un pulsante, quindi viene eseguita un'azione in base al pulsante selezionato dall'utente.

Sintassi

MsgBox(prompt[,pulsanti][,titolo][,helpfile,contesto])

Parametro Descrizione

  • La richiesta è un parametro obbligatorio. La stringa da visualizzare come messaggio nella finestra di dialogo. La lunghezza massima dell'invito è di circa 1024 caratteri. Se il messaggio si estende su più di una riga, le righe possono essere separate utilizzando un carattere di ritorno a capo (Chr(13)) o di avanzamento riga (Chr(10)) tra ogni riga.
  • Buttons è un parametro facoltativo. Espressione numerica che specifica il tipo di pulsanti da visualizzare, lo stile dell'icona da utilizzare, l'ID del pulsante predefinito e la modalità della finestra di messaggio. Se lasciato vuoto, il valore predefinito per i pulsanti è 0.
  • Il titolo è un parametro facoltativo. L'espressione stringa viene visualizzata nella barra del titolo della finestra di dialogo. Se il titolo viene lasciato vuoto, il nome dell'applicazione viene inserito nella barra del titolo.
  • Il file della guida è un parametro facoltativo. Un'espressione String che identifica il file della guida che verrà utilizzato per fornire una guida sensibile al contesto per la finestra di dialogo.
  • Il contesto è un parametro facoltativo. Espressione numerica che identifica il numero del contesto della guida assegnato dall'autore della guida all'argomento della guida corrispondente. Se viene fornito un contesto, deve essere fornito anche un file della guida.

Il parametro Buttons può assumere uno dei seguenti valori:

  • 0 vbOKOnly - Visualizza solo il pulsante OK.
  • 1 vbOKCancel - Visualizza i pulsanti OK e Annulla.
  • 2 vbAbortRetryIgnore - Visualizza i pulsanti Annulla, Ripeti e Ignora.
  • 3 vbYesNoCancel - Visualizza i pulsanti Sì, No e Annulla.
  • 4 vbYesNo - Visualizza i pulsanti Sì e No.
  • 5 vbRetryCancel - Visualizza i pulsanti Riprova e Annulla.
  • 16 vbCritical - Visualizza un'icona di messaggio critico.
  • 32 vbQuestion - Visualizza un'icona di avviso.
  • 48 vbExclamation - Visualizza l'icona del messaggio di avviso.
  • 64 vbInformazioni. Visualizza un'icona di messaggio informativo.
  • 0 vbDefaultButton1 - il primo pulsante predefinito.
  • 256 vbDefaultButton2 è il secondo pulsante predefinito.
  • 512 vbDefaultButton3 - Terzo pulsante predefinito.
  • 768 vbDefaultButton4 - Il quarto pulsante predefinito.
  • 0 vbApplicationModal Applicazione modale: l'applicazione corrente non verrà eseguita finché l'utente non risponde al messaggio.
  • 4096 vbSystemModal Sistema modale - Tutte le applicazioni non funzioneranno finché l'utente non risponde al messaggio.

I valori di cui sopra sono logicamente divisi in quattro gruppi: il primo gruppo (da 0 a 5) specifica i pulsanti che verranno visualizzati nella finestra di messaggio. Il secondo gruppo (16, 32, 48, 64) descrive lo stile dell'icona da visualizzare, il terzo gruppo (0, 256, 512, 768) indica quale pulsante deve essere predefinito e il quarto gruppo (0, 4096 ) definisce la modalità della finestra di messaggio.

Valori di ritorno

La funzione MsgBox può restituire uno dei valori seguenti, che possono essere usati per identificare il pulsante premuto dall'utente nella finestra di messaggio.

  • 1 - viene premuto il pulsante vbOK - OK.
  • 2 - vbCancel - viene premuto il pulsante Annulla
  • 3 - vbAbort - Pulsante di interruzione premuto
  • 4 - vbRetry - Pulsante Riprova premuto
  • 5 - vbIgnore - Pulsante Ignora premuto
  • 6 - vbYes - Pulsante Sì premuto
  • 7 - vbNo - Nessun clic

Sub MessageBox_Demo() "Messaggio semplice MsgBox("Ciao") "Messaggio con titolo e pulsanti si, no e annulla risposta " & a) End Sub

MsgBox passo dopo passo

Passaggio 1: la funzione di cui sopra può essere eseguita facendo clic sul pulsante "Esegui" nella finestra VBA o facendo clic sul pulsante che tu stesso hai aggiunto al foglio Excel.

Passaggio 2: viene visualizzata una semplice casella di testo con il messaggio "Benvenuto" e un pulsante "OK".

In VBA, l'input e l'output di informazioni (per l'interazione dell'utente) possono essere eseguiti finestre di dialogo. La finestra di dialogo per l'immissione dei valori è implementata dalla funzione integrata InputBox. Nella casella di input implementata dalla funzione InputBox, viene visualizzato un campo per l'inserimento del valore di una variabile, in cui l'utente deve inserire certo valore. Successivamente, l'utente deve fare clic sul pulsante OK.

Funzione InputBox() ha la seguente sintassi:

NomeVariabile = InputBox(Prompt, , , , , , )

Where arguments: Prompt o Message è un argomento obbligatorio che viene specificato nella finestra di dialogo Annuncio. Tutti gli altri argomenti sono facoltativi. Titolo specifica il titolo della finestra. La Figura 1 mostra un modulo che utilizza la funzione InputBox.


Riso. 1.

Dopo aver completato il modulo 2, viene visualizzata una finestra di messaggio "Inserimento valori variabili" (Fig. 2), in cui è necessario inserire un numero e fare clic su OK. La finestra di dialogo (Fig. 2) implementata dalla funzione InputBox (Fig. 1) visualizza: Titolo finestra - Inserimento valori variabili; Messaggio - Inserisci un numero; Pulsanti (predefinito) - OK e Annulla; Un campo destinato all'immissione di valori variabili.


Riso. 2.

Per visualizzare le informazioni vengono utilizzate finestre di dialogo di messaggi implementate dall'operatore. MsgBox o funzione MsgBox(). MsgBox può essere utilizzato come istruzione. L'istruzione MsgBox visualizza le informazioni in una finestra di dialogo e imposta la modalità per attendere che l'utente prema un pulsante.

L'istruzione MsgBox ha la seguente sintassi:
MsgBox Prompt, , , ,

Dove gli argomenti sono: Prompt o Messaggio - un argomento obbligatorio che specifica il messaggio informativo da visualizzare nella finestra. Tutti gli altri argomenti sono facoltativi. Pulsanti - Pulsanti che possono essere utilizzati nella finestra di dialogo dei messaggi. Nella finestra dei messaggi possono essere utilizzati vari pulsanti (OK, Annulla, ecc.). Se non specifichi quali pulsanti visualizzare nella finestra di messaggio, il pulsante OK viene visualizzato per impostazione predefinita. Inoltre, è possibile utilizzare varie icone nelle finestre di dialogo dei messaggi (vbQuestion - icona punto interrogativo, vbExclamation - icona punto esclamativo eccetera.).

Il modulo in cui MsgBox viene utilizzato come operatore è mostrato in fig. 3 (operatore MsgBox "3", vbOKCancel, "Valori di output").



Riso. 3

Quando il modulo 4 viene avviato per l'esecuzione, viene visualizzata una finestra di messaggio "Valori di output" (Fig. 4), in cui è necessario fare clic sul pulsante OK. La finestra (Fig. 4) implementata dall'operatore MsgBox (Fig. 3) visualizza: Titolo della finestra - Output dei valori; Messaggio - 3; Pulsanti - OK e Annulla.


Riso. 4

Ad esempio, per calcolare una funzione come y = 5 x 2 + 7 x + 9, puoi utilizzare la funzione InputBox e l'operatore MsgBox (Fig. 5)



Riso. 5

Dopo aver eseguito il modulo 5, viene visualizzata una casella di immissione


Riso. 6

Dopo aver inserito un numero, ad esempio 789, e aver fatto clic su OK, viene visualizzata una finestra di messaggio che mostra il risultato della funzione y = 5 x 2 + 7 x + 9.


Riso. 7

MsgBox può essere utilizzato come funzione. La funzione MsgBox() ha la seguente sintassi: MsgBox (Prompt, , , , ). In questo caso, nella finestra di dialogo vengono utilizzati diversi pulsanti. Quando si preme un pulsante in una finestra di dialogo, la funzione MsgBox() restituisce un valore Integer che dipende dal pulsante premuto nella finestra di dialogo del messaggio.

La funzione MsgBox consente informazioni in uscita sullo schermo come una finestra.

Vista generale delle funzioni:

Messaggio di MsgBox

[,codice pulsante [,titolo]]

messaggio - definisce il valore dell'espressione che verrà visualizzata nella finestra di messaggio. Questa espressione può essere un testo da citare e/o una variabile. Per visualizzare il testo dei messaggi e il valore di una variabile in una finestra, utilizzare l'operatore di concatenazione di stringhe (&).

Dim Pi come singolo

MsgBox "pi=" & Pi

Il risultato della macro:

codice pulsante: determina quali pulsanti e icone verranno visualizzati nella finestra dei messaggi. Se questo parametro non è specificato, la finestra di messaggio contiene solo un pulsante OK.

title - contiene il testo che viene visualizzato nella barra del titolo del messaggio. Se questo argomento non viene fornito, la stringa viene inserita nell'intestazione Microsofteccellere.

Dim Pi come singolo

MsgBox Pi,"Questo è Pi"

Inserimento informazioni in VBA può essere fatto usando la casella di input:

Funzione InputBox crea una finestra di input:

InputBox(messaggio

[,titolo[,valore]])

messaggio - una stringa di caratteri o una variabile stringa contenente un messaggio di testo per l'utente;

title - il testo che viene visualizzato nella barra del titolo del messaggio;

value - Specifica i valori visualizzati per impostazione predefinita nel campo di testo della finestra di dialogo.

PROBLEMA 2. L'angolo è dato in radianti. Converti in gradi.

Cost pi = 3,14159

Dim g As Integer

Dim m As Integer

Dim s As Integer

r = InputBox("r=", "Valore dell'angolo in radianti", pi greco / 4)

g = Fix(r * 180 / pi)

m = Correggi((r*180/pi-g)*60)

s=Fisso(((r*180/pi-g)*60-m)*60)

MsgBox g & "gradi" & m & "minuti" & s & "secondi"

18. Operatore condizionale

Le istruzioni condizionali vengono utilizzate quando, a seconda di alcune condizioni, è necessario eseguire l'una o l'altra azione.

Operatore condizionale, corrispondente allo schema a blocchi dato, ha la forma:

Se espressione Allora

operatore1

operatore2

In questa costruzione, l'espressione deve avere un tipo booleano.

L'operatore funziona così. Il valore dell'espressione viene valutato. Se restituisce true, viene eseguita istruzione1, altrimenti (l'espressione restituisce false), viene eseguita istruzione2.

Se, a seconda della condizione, viene eseguita un'azione e altrimenti non accade nulla, l'algoritmo ha la forma:

Operatore condizionale in questo caso ha una struttura:

Se espressione Allora

operatore

Questa voce può essere chiamata "saltare l'istruzione else".

In questo caso, l'istruzione viene eseguita o saltata, a seconda del valore dell'espressione.

Sono consentite più istruzioni If...Then...Else nidificate, nidificate in tutti i livelli necessari.

Se espressione1 Allora

operatori1

Elseif expression2 then

operatori2

Elseif expression3 then

operatori3

Elseif espressioneN then

operatoriN

operatori

Per facilitare la lettura del programma, invece di più istruzioni nidificate, a volte è preferibile utilizzare l'istruzione Select Case.

Seleziona Caso<espressione>

caso<condizione di scelta 1>

<operatori 1>

caso<condizione di scelta 2>

<operatori 2>

……………..

caso<condizione di selezioneN>

<operatoriN>

<operatori>

19. Programmi di esempio

COMPITO 3 . I coefficienti a, bec dell'equazione quadratica sono noti ascia 2 +bx+C=0. Calcola le radici di un'equazione quadratica.

Dati di input: a, b, c.

Dati di uscita: x 1, x 2.

Sottoprim7()

Dim x1 come singolo

Dim x2 come singolo

InputBox("A=","Coefficienti dell'equazione quadratica", 2)

InputBox("B=""," Coefficienti quadratici", 3)

InputBox("C=""," Coefficienti quadratici",-2)

d=b^2 - 4*a*c

Se d< 0 Then

MsgBox "Nessuna soluzione valida", vbCritical

x1=(-b+Sqr(d))/(2*a)

x2=(-b-Sqr(d))/(2*a)

MsgBox "X1=" & x1 & Chr(13) & "X2=" & x2, vbInformation

COMPITO 4. Dato un numero reale X. Per la funzione il cui grafico è riportato di seguito, calcola si=F(X).

Se x<= -1 Then

ElseIf x > 1 Allora

COMPITO 5. Dati i numeri reali X E si. Determina se un punto con coordinate ( X; si) della parte ombreggiata del piano.

Punto con coordinate ( X;si) appartiene alla parte ombreggiata del piano se:

Se si<= 2 * x + 2 And

Se noti un errore, seleziona una parte di testo e premi Ctrl + Invio
CONDIVIDERE: