VBA Set Statemment - Come assegnare valori alle variabili oggetto?

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 è il 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?

# 1 - Istruzione Set con variabili oggetto intervallo

Ad esempio, supponi di voler utilizzare l'intervallo da A1 a D5 abbastanza spesso. Invece di scrivere ogni volta il codice come intervallo ("A1: D5"), 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 "Imposta".

# 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 cartella di lavoro e desideri continuare a tornare a un particolare foglio di lavoro. È possibile 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 "Imposta", impostiamo la variabile sul foglio di lavoro denominato "Foglio di riepilogo".

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 per fare riferimento al foglio "Foglio di riepilogo", questo 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 "Imposta" Word

Codice:

Sub Set_Worksheet_Example() Dim Ws As Worksheet Set Ws = Worksheets("Summary Sheet") 'To select the sheet Ws.Select 'To Activate the sheet Ws.Activate 'To hide the sheet Ws.Visible = xlVeryHidden 'To unhide the sheet Ws.Visible = xlVisible End Sub

The moment we set the worksheet name, we can see the variable name while entering the code as part of the list.

#3 - Set Statement with Workbook Object Variables

The real advantage of the word “Set” in VBA arises when we need to reference different workbooks.

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

Ora la variabile Wb1 è uguale alla cartella di lavoro denominata "File di riepilogo vendite 2018.xlsx" e la variabile Wb2 è uguale alla cartella di lavoro denominata "File di riepilogo vendite 2019.xlsx".

Utilizzando questa variabile, possiamo effettivamente accedere a tutte le proprietà e i metodi associati alla cartella di lavoro.

Possiamo abbreviare il codice come di seguito.

Senza usare Imposta parola chiave per attivare la cartella di lavoro:

Cartelle di lavoro ("File di riepilogo vendite 2018.xlsx"). Attiva

Utilizzo di Imposta parola chiave per attivare la cartella di lavoro:

Wb1.Activate

Ciò semplifica la scrittura del lotto di codice e inoltre, una volta impostato il nome della cartella di lavoro, c'è la preoccupazione di errori di battitura nei nomi delle cartelle di lavoro.

Articoli interessanti...