Excel VBA Set

"Set", è una parola chiave utilizzata nella programmazione VBA per assegnare un riferimento a un oggetto o un intervallo di celle che rimarrà fisso in tutto il programma o il codice in Excel. VBA Set ci aiuta sostanzialmente ad evitare input ripetitivi di intervallo che dobbiamo selezionare durante l'esecuzione del codice. In Excel, "Imposta" viene applicato principalmente su fogli di lavoro / intervallo di celle in un determinato foglio.

Sintassi:

Imposta nome-oggetto / variabile = Oggetto / Intervallo

Nota: è necessario disporre della scheda Sviluppatore nel foglio di lavoro Excel.

Se non vedi la scheda "Sviluppatore" in Excel, fai riferimento ai passaggi seguenti:

Passaggio 1: fare clic su Opzione file .

Passaggio 2: viene visualizzato il menu a discesa, fare clic sulla scheda Opzioni .

Passaggio 3: Dopo aver fatto clic su "Opzioni", viene visualizzata una finestra di dialogo come mostrato di seguito e fare clic sull'opzione Personalizza barra multifunzione .

Passaggio 4: quando trasciniamo verso il basso le opzioni di personalizzazione della barra multifunzione, troveremo un'opzione per lo sviluppatore che dobbiamo selezionare quella casella che ci consentirà di utilizzare VBA in Excel.

Come utilizzare una parola chiave impostata in VBA?

Di seguito sono riportati i diversi esempi per utilizzare la parola chiave set in Excel VBA.

Puoi scaricare questo VBA Imposta modello Excel qui - VBA Imposta modello Excel

Excel VBA Set - Esempio n. 1

Prenderemo un semplice esempio di una parola chiave Set in Excel VBA. Supponiamo di voler selezionare un intervallo e impostarlo come intervallo di correzione in modo da evitare la ripetizione. Di seguito è riportato l'intervallo di celle contenente i nomi:

Seguire i passaggi seguenti per utilizzare la parola chiave set in Excel VBA:

Passaggio 1: fare clic sulla scheda "Sviluppatore" e quindi fare clic sull'opzione "Visual Basic" sul lato sinistro (prima opzione) come mostrato di seguito.

Dopo aver fatto clic su di esso, viene visualizzata una nuova finestra come mostrato di seguito:

Noterai che contiene due schede sul lato sinistro, "Foglio1 (Foglio1)" e "Questo manuale". L'unica differenza è "Foglio1" quando si desidera eseguire il codice solo per questo particolare foglio e in "Questo manuale", è possibile scrivere un codice ed eseguire che può essere applicato per l'intera cartella di lavoro Excel.

Passaggio 2: fai doppio clic su "Foglio1 (Foglio1) e vedrai una schermata vuota in cui è necessario scrivere il codice. Per prima cosa, dichiara un sottoinsieme come Nome secondario e premi invio e vedrai un sottoinsieme creato come mostrato di seguito:

Codice:

 Sub setexmp () End Sub 

Questo è il modo in cui creiamo un sottoinsieme e appare automaticamente “End Sub”. Questa è la funzionalità predefinita di Excel. Se “End Sub” non viene visualizzato, il codice non verrà eseguito e verrà generato un errore.

Passaggio 3: ora dichiareremo le variabili da utilizzare nel codice.

Tipo Dim nome variabile e tipo variabile. Qui, il nome sarà come l'identità dell'intervallo e il tipo sarebbe come Integer, Long, String, Range, ecc.

Codice:

 Sub setexmp () Dim Rnst As Range End Sub 

Qui "Rnst" è un nome di variabile e assegnarlo (As) come funzione Range. Ciò avviserà il sistema che sarebbe stata effettuata una selezione dell'intervallo.

Passaggio 4: quindi digitare la parola chiave "Imposta" e fornire un intervallo utilizzando il formato: Imposta variabile = Intervallo ("intervallo di celle") .

Codice:

 Sub setexmp () Dim Rnst As Range Set Rnst = Range ("A2: A11") End Sub 

Passaggio 5: dobbiamo selezionare questo intervallo di righe specificato. Quindi, digitare select as Rnst.Select Vedi screenshot qui sotto:

Codice:

 Sub setexmp () Dim Rnst As Range Set Rnst = Range ("A2: A11") Rnst.Select End Sub 

Passaggio 6: eseguire il codice premendo F5 o il pulsante Esegui e vedere l'output.

Seleziona l'intervallo specificato che va dalle celle da A2 a A11.

Excel VBA Set - Esempio # 2

Supponiamo di voler incollare queste celle o intervallo in un'altra cella. Useremo lo stesso codice di cui sopra e aggiungere il codice per incollare quei dati in più colonne.

Segui i passaggi seguenti:

Passo 1: Ora copieremo l'intervallo di celle che è la colonna del nome. Digitare copy, ad esempio "Rnst.Copy", quando si digita "Rnst." Appare una sorta di menu a discesa. Contiene varie funzioni come copia, incolla, ecc.

Passaggio 2: è possibile scorrere verso il basso e selezionare la funzione desiderata che si desidera eseguire. Qui basta digitare "Copia" come mostrato nello screenshot qui sotto:

Codice:

 Sub setexmp () Dim Rnst As Range Set Rnst = Range ("A2: A11") Rnst.Select Rnst.Copy End Sub 

Passaggio 3: compilare il codice premendo il tasto F8.

Una volta eseguita questa funzione di copia, vedrai che in Excel l'intervallo viene copiato e le linee tratteggiate appaiono attorno all'intervallo di celle come mostrato di seguito:

Passo 4: Ora, dobbiamo incollare queste celle, diciamo nelle colonne adiacenti una per una, quindi dobbiamo usare una funzione di loop "For" e supponiamo che 5 volte abbiamo bisogno di incollare, quindi la digiteremo come mostrato di seguito:

Per Integer i = da 1 a 5 -> questo specifica quante volte dobbiamo incollare i dati. Se 5, quindi 1 a 5, qualunque sia il numero che preferisci.

Codice:

 Sub setexmp () Dim Rnst As Range Set Rnst = Range ("A2: A11") Rnst.Seleziona Rnst.Copy Per i = da 1 a 5 End Sub 

Passaggio 5: selezionare una cella in cui si desidera incollare questo intervallo di celle. Supponiamo di voler iniziare a incollare dalla colonna B2 e quindi incollare i dati dovrebbe essere dinamico, cioè dovrebbe selezionare automaticamente le colonne adiacenti una per una senza sovrapposizioni. Quindi, la sintassi sarebbe "Cella (numero di riga, numero di colonna). SpecialeSpeciale".

Celle (2, i + 1) .PasteSpecial, Qui, 2-> rappresenta il numero di riga e, i + 1 -> rappresenta il numero di colonna. i + 1 indica che il primo valore di I dichiarato nel ciclo "For" è i = 1, quindi il valore della colonna diventerà 2, specifica che inizia a incollare dalla colonna B. E man mano che aumenta il valore, continuerà a selezionare le colonne adiacenti uno per uno.

Codice:

 Sub setexmp () Dim Rnst As Range Set Rnst = Range ("A2: A11") Rnst.Select Rnst.Copy For i = 1 To 5 Cells (2, i + 1) .PasteSpecial xlValues ​​End Sub 

Passaggio 6: digitare " Next i " che significa che si sta aumentando il valore di "i" uno per uno in modo che l'incollamento della colonna rimanga dinamico.

Codice:

 Sub setexmp () Dim Rnst As Range Set Rnst = Range ("A2: A11") Rnst.Select Rnst.Copy For i = 1 To 5 Cells (2, i + 1) .PasteSpecial xlValues ​​Next i End Sub 

Passaggio 7: premere "F8" per vedere il codice eseguito riga per riga e ti mostrerà incollare una cella nelle colonne adiacenti una per una.

Qui puoi vedere il valore di i è 1 e i dati sono stati incollati nella colonna B come desiderato.

Passo 8: Ora quando premi di nuovo “F8” vedrai che ora il valore di i è 2. Quindi, 2 + 1 diventerà 3 e i dati verranno incollati nella cella (2, 3), cioè il valore della riga è lo stesso ma colonna il numero cambia come mostrato nello screenshot qui sotto:

Dopo aver completato il ciclo ripetuto vedrai i dati incollati 5 volte, cioè dal conteggio da 1 a 5, iniziando a incollare dalla colonna B fino alla colonna F come mostrato di seguito:

Excel VBA Set - Esempio n. 3

Supponiamo di voler mostrare un conteggio del numero di celle in quell'intervallo in una finestra di messaggio che appare al clic di un pulsante. Prenderemo gli stessi dati mostrati di seguito.

Inoltre, eseguiremo il codice di questo esempio nel nuovo foglio. Quindi, aggiungi un nuovo foglio e nella finestra VBA apparirà come di seguito:

Dovremo inserire un'opzione del pulsante di comando. È una funzionalità di Excel, quindi segui i passaggi seguenti:

Passaggio 1: inserisci un nome di sottoinsieme per dire "Setcount ()" come mostrato nello screenshot qui sotto:

Codice:

 Sub Setcount () End Sub 

Passaggio 2: dichiarare la stessa variabile "Rnct" come intervallo nel sottoinsieme come mostrato nello screenshot seguente:

Codice:

 Sub Setcount () Dim Rnct As End End Sub 

Passaggio 3: quindi digitare la parola chiave "Set" e fornire un intervallo.

Codice:

 Sub Setcount () Dim Rnct As Range Set Rnct = Range ("A2: A11") End Sub 

Passo 4: Ora, dopo aver corretto l'intervallo, dobbiamo vedere la finestra pop-up o la finestra di dialogo che mostra il conteggio delle celle nell'intervallo. Quindi, utilizzare la funzione "MsgBox" che durante l'esecuzione apparirà un conteggio nella finestra di dialogo. Digitare "MsgBox variabile name.count". Nel momento in cui si digita il nome della variabile, quindi punto (.) Viene visualizzato un menu a discesa contenente varie funzioni e si seleziona "conta" o si digita manualmente "conteggio".

Digitare "MsgBox Rnct.count" e dopo l'esecuzione, sembrerà contare.

Passo 5: Ora, vogliamo inserire un pulsante di comando e al clic, su quel pulsante dovrebbe apparire quella finestra di messaggio.

Fai clic su "Inserisci" nella scheda "Sviluppatore" come evidenziato nella casella rossa e vedrai un menu a discesa della categoria "Controlli modulo". Fai clic sulla primissima forma rettangolare a forma di scatola che dovremo disegnare e inserire manualmente nel foglio Excel:

Passaggio 6: facendo clic sulla casella rettangolare, disegna e inserisci la casella nel foglio e una volta che inizi a disegnare viene visualizzata una finestra di dialogo come mostrato di seguito. È un pulsante della finestra "Assegna macro" e seleziona la macro del sottoinsieme "Setcount". Clicca su "OK".

Questo significa che abbiamo assegnato la macro di conteggio a questo pulsante. E al clic, verrà eseguito.

Passaggio 7: apparirà come mostrato di seguito in Excel.

Passaggio 8: fai clic destro su di esso e rinominalo utilizzando l'opzione " Modifica testo " come mostrato di seguito:

Passaggio 9: assegnagli un nome come "COUNT" e lo vedrai in Excel come conta come mostrato di seguito.

Passaggio 10: Quindi fare clic sul pulsante "COUNT": Dopo aver fatto clic sul pulsante "COUNT" viene visualizzata una finestra di messaggio come mostrato di seguito:

Come possiamo vedere ci sono 10 nomi e abbiamo mostrato il numero corretto nell'intervallo da A2 a A11.

Cose da ricordare

  • Assicurati di avere la scheda "Sviluppatore" inserita nei nastri di Excel per eseguire questi codici VBA.
  • 'Imposta' viene applicato principalmente su fogli di lavoro / intervallo di celle in un determinato foglio.

Articoli consigliati

Questa è una guida al set VBA. Qui discutiamo come assegnare un riferimento a un oggetto o a un intervallo di celle usando Excel VBA Set Keyword insieme a esempi pratici e template Excel scaricabili. Di seguito sono riportati alcuni utili articoli di Excel relativi a VBA -

  1. Funzione concatenata VBA
  2. Tutorial sui set di icone di Excel
  3. Lavorare con celle di intervallo in VBA
  4. Risolvi l'equazione in Excel

Categoria: