Istruzione Set VBA

Istruzione Set VBA di Excel

VBA Set è un'istruzione che viene utilizzata per assegnare qualsiasi valore chiave dice un oggetto o un riferimento a una variabile, usiamo questa funzione per definire il parametro per una certa variabile, ad esempio, se scriviamo Set M = A che significa ora M il riferimento ha gli stessi valori e attributi simili a quelli di A.

In VBA, un oggetto è un fulcro di Excel perché senza oggetti non possiamo fare nulla. Gli oggetti sono cartella di lavoro, foglio di lavoro e intervallo. Quando dichiariamo una variabile, dobbiamo assegnarle un tipo di dati e possiamo anche assegnare oggetti come tipi di dati. Per assegnare un valore alle variabili oggetto dichiarate è necessario utilizzare la parola “SET”. La parola "Set" utilizzata per fare riferimento a un nuovo oggetto in VBA, ad esempio, in riferimento al particolare intervallo del particolare foglio di lavoro.

Come utilizzare l'istruzione Set VBA di Excel?

È possibile scaricare questo modello di istruzione Set VBA qui - Modello di istruzione Set VBA

# 1 - Istruzione Set con variabili oggetto intervallo

Ad esempio, supponi di voler utilizzare l'intervallo da A1 a D5 abbastanza spesso. Invece di scrivere il codice come intervallo ("A1: D5") ogni volta possiamo dichiarare la variabile come intervallo e impostare il riferimento dell'intervallo come intervallo ("A1: D5")

Passaggio 1: dichiara la variabile come oggetto Range.

Codice:

 Sub Set_Example ()

Dim MyRange As Range

End Sub

Passaggio 2: nel momento in cui assegniamo il tipo di dati come intervallo, utilizza la parola "Imposta".

Codice:

 Sub Set_Example () Dim MyRange As Range Set MyRange = End Sub 

Passaggio 3: ora menziona l'intervallo.

Codice:

 Sub Set_Example () Dim MyRange As Range Set MyRange = Range ("A1: D5") End Sub 

Passaggio 4: ora la variabile "MyRange" è uguale all'intervallo da A1 a D5. Usando questa variabile possiamo accedere a tutte le proprietà e metodi di questo intervallo.

Possiamo copiare, aggiungere un commento in Excel e fare molte altre cose.

Ad esempio, scopo, ho creato alcuni numeri qui.

Ora usando la variabile cambierò la dimensione del carattere in 12.

Codice:

 Sub Set_Example () Dim MyRange As Range Set MyRange = Range ("A1: D5") MyRange.Font.Size = 12 End Sub 

Ciò cambierà la dimensione del carattere dell'intervallo assegnato.

In questo modo, possiamo fare molte cose con un intervallo particolare utilizzando la parola "Set".

# 2 - Imposta istruzione con variabili oggetto del foglio di lavoro

Abbiamo visto come funziona "set" con un oggetto range in VBA. Funziona esattamente allo stesso modo dell'oggetto foglio di lavoro.

Supponiamo che tu abbia 5 fogli di lavoro nella tua cartella di lavoro e desideri continuare a tornare a un particolare foglio di lavoro, puoi impostare il nome del foglio di lavoro sulla variabile oggetto definita.

Ad esempio, guarda il codice seguente.

Codice:

 Sub Set_Worksheet_Example () Dim Ws As Worksheet Set Ws = Worksheets ("Summary Sheet") End Sub 

Nel codice precedente, la variabile "Ws" definita come variabile oggetto, e nella riga successiva utilizzando la parola "Set" impostiamo la variabile sul foglio di lavoro denominato "Summary Sheet".

Ora, usando questa variabile, possiamo fare tutte le cose ad essa associate. Dai un'occhiata ai due set di codice seguenti.

# 1 - Senza parola "Imposta"

Codice:

 Sub Set_Worksheet_Example1 () "Per selezionare il foglio Fogli di lavoro (" Foglio di riepilogo "). Seleziona" Per attivare il foglio di lavoro ("Foglio di riepilogo"). Attiva "Per nascondere il foglio di lavoro (" Foglio di riepilogo "). Visible = xlVeryHidden" Per mostra il foglio Worksheets ("Summary Sheet"). Visible = xlVisible End Sub 

Ogni volta che ho utilizzato l'oggetto fogli di lavoro ho fatto riferimento al foglio “Foglio di riepilogo”. Ciò rende il codice così lungo e richiede molto tempo per la digitazione.

Come parte del codice enorme, è frustrante digitare il nome del foglio di lavoro in questo modo ogni volta che è necessario fare riferimento al foglio di lavoro.

Ora dai un'occhiata al vantaggio di usare la parola Imposta nel codice.

# 2 - Con "Set" Word

Codice:

 Sub Set_Worksheet_Example () Dim Ws As Worksheet Set Ws = Worksheets ("Summary Sheet") 'Per selezionare il foglio Ws.Select' Per attivare il foglio Ws.Activate 'Per nascondere il foglio Ws.Visible = xlVeryHidden' Per mostrare il foglio Ws .Visible = xlVisible End Sub 

Nel momento in cui impostiamo il nome del foglio di lavoro possiamo vedere il nome della variabile mentre inseriamo il codice come parte dell'elenco.

# 3 - Imposta istruzione con variabili oggetto cartella di lavoro

Il vero vantaggio della parola "Set" in VBA si presenta quando abbiamo bisogno di fare riferimento a cartelle di lavoro diverse.

When we work with different workbooks it is so hard to type in the full name of the workbook along with its file extension.

Assume you have two different workbooks named “Sales Summary File 2018.xlsx” and “Sales Summary File 2019.xlsx” we can set the two workbooks like the below code.

Code:

 Sub Set_Workbook_Example1() Dim Wb1 As Workbook Dim Wb2 As Workbook Set Wb1 = Workbooks("Sales Summary File 2018.xlsx") Set Wb2 = Workbooks("Sales Summary File 2019.xlsx") End Sub 

Now variable Wb1 is equal to the workbook named “Sales Summary File 2018.xlsx” and variable Wb2 is equal to the workbook named “Sales Summary File 2019.xlsx”.

Using this variable we can actually access all the properties and methods associated with the workbook.

We can shorten the code like the below.

Without Using Set Keyword to activate the workbook:

Workbooks("Sales Summary File 2018.xlsx").Activate

Using the Set Keyword to activate the workbook:

Wb1.Activate

This makes the writing of the code lot simpler and also once the workbook name is set there is a worry of typo error of the workbook names.