Penyataan Set VBA

Penyataan Set Excel VBA

VBA Set adalah pernyataan yang digunakan untuk menetapkan kunci nilai apa pun mengatakan objek atau rujukan ke pemboleh ubah, kami menggunakan fungsi ini untuk menentukan parameter untuk pemboleh ubah tertentu, misalnya, jika kita menulis Set M = A yang berarti sekarang M rujukan mempunyai nilai dan atribut yang sama dengan apa yang dimiliki oleh A.

Dalam VBA, objek adalah teras utama kerana tanpa objek kita tidak dapat melakukan apa-apa. Objek adalah Buku Kerja, Lembaran Kerja, dan Julat. Apabila kita menyatakan pemboleh ubah kita perlu menetapkan jenis data padanya dan kita juga dapat menetapkan objek sebagai jenis data. Untuk memberikan nilai pada pemboleh ubah objek yang dinyatakan, kita perlu menggunakan kata "SET". Kata "Set" digunakan untuk merujuk pada objek baru di VBA, misalnya, merujuk pada julat lembaran kerja tertentu.

Bagaimana cara menggunakan Penyataan Set Excel VBA?

Anda boleh memuat turun Templat Pernyataan Set VBA ini di sini - Templat Pernyataan Set VBA

# 1 - Tetapkan Pernyataan dengan Julat Pembolehubah Objek

Contohnya anggap anda mahu kerap menggunakan julat A1 hingga D5. Daripada menulis kod sebagai Range (“A1: D5”) setiap kali kita dapat menyatakan pemboleh ubah sebagai julat dan menetapkan rujukan julat sebagai Rentang (“A1: D5”)

Langkah 1: Menyatakan pemboleh ubah sebagai objek Range.

Kod:

 Sub Set_Contoh ()

Dim MyRange Sebagai Julat

Sub Akhir

Langkah 2: Pada saat kita menetapkan jenis data sebagai rentang menggunakan kata "Set".

Kod:

 Sub Set_Contoh () Dim MyRange Sebagai Range Set MyRange = End Sub 

Langkah 3: Sekarang sebutkan julatnya.

Kod:

 Sub Set_Contoh () Dim MyRange Sebagai Range Set MyRange = Range ("A1: D5") Sub End 

Langkah 4: Sekarang pemboleh ubah "MyRange" sama dengan julat A1 hingga D5. Dengan menggunakan pemboleh ubah ini, kita dapat mengakses semua sifat dan kaedah dalam julat ini.

Kita boleh menyalin, menambah komen di excel, dan melakukan banyak perkara lain.

Sebagai contoh, saya telah membuat beberapa nombor di sini.

Sekarang menggunakan pemboleh ubah saya akan menukar saiz fon menjadi 12.

Kod:

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

Ini akan mengubah saiz fon julat yang ditetapkan.

Seperti ini, kita dapat melakukan banyak hal dengan rentang tertentu dengan menggunakan kata "Set".

# 2 - Tetapkan Pernyataan dengan Pemboleh ubah Objek Lembaran Kerja

Kami telah melihat bagaimana "set" berfungsi dengan objek jarak jauh di VBA. Ia berfungsi sama seperti objek lembaran kerja juga.

Katakan anda mempunyai 5 lembaran kerja dalam buku kerja anda dan anda ingin terus kembali ke satu lembaran kerja tertentu, anda boleh menetapkan nama lembaran kerja tersebut ke pemboleh ubah objek yang ditentukan.

Contohnya, lihat kod di bawah.

Kod:

 Sub Set_Worksheet_Contoh () Dim Ws Sebagai Lembaran Kerja Set Ws = Lembaran Kerja ("Lembaran Ringkasan") Sub Akhir 

Dalam kod di atas, pemboleh ubah "Ws" didefinisikan sebagai pemboleh ubah objek, dan di baris berikutnya dengan menggunakan kata "Set" kita menetapkan variabel ke lembar kerja bernama "Ringkasan Lembar".

Sekarang dengan menggunakan pemboleh ubah ini, kita dapat melakukan semua perkara yang berkaitan dengannya. Lihat dua set kod di bawah ini.

# 1 - Tanpa Kata "Tetapkan"

Kod:

 Sub Set_Worksheet_Example1 () 'Untuk memilih lembaran kerja Lembaran kerja ("Lembaran Ringkasan"). Pilih' Untuk Mengaktifkan Lembaran Kerja lembaran ("Lembaran Ringkasan"). Aktifkan 'Untuk menyembunyikan Lembaran Kerja Lembaran ("Lembaran Ringkasan"). Terlihat = xlVeryHidden' Ke buka helaian Lembaran Kerja ("Lembaran Ringkasan"). Terlihat = 

Setiap kali saya menggunakan objek lembaran kerja untuk merujuk pada lembaran "Lembaran Ringkasan". Ini menjadikan kodnya panjang dan memerlukan banyak masa untuk menaip.

As part of the huge code, it is frustrating to type the worksheet name like this every time you need to reference the worksheet.

Now take a look at the advantage of using the word Set in Code.

#2 – With “Set” Word

Code:

 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 

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.