Dengan Pernyataan di Excel VBA
Pernyataan With digunakan di VBA untuk mengakses semua properti dan metode objek yang disebutkan. Kita perlu menyediakan objek VBA mana yang kita rujuk terlebih dahulu kemudian menutup pernyataan With dengan End With , lalu di dalam pernyataan ini. Kita bisa melakukan semua perubahan properti dan metode dari objek yang disebutkan.
Di bawah ini adalah sintaks With Statement di VBA.
Dengan (OBJEK) (Kode… Apa yang perlu dilakukan?) Akhiri Dengan
Objek tidak lain adalah rentang sel atau sel yang kami rujuk, lalu kami dapat mengubah properti dan melakukan semua metode yang terkait dengan sel atau sel tersebut.
Bagaimana Cara Menggunakan Dengan Pernyataan di Excel VBA?
Berikut adalah beberapa contoh penggunaan With Statement di Excel VBA.
Contoh 1
Asumsikan Anda memiliki nilai tertentu di sel A1, saya telah memasukkan teks sebagai "Excel VBA" di sel A1.

Sekarang untuk sel ini, saya perlu melakukan beberapa tugas, yaitu memformat di excel.
Saya ingin mengubah ukuran font, nama font, dan warna interior, menyisipkan border, dll. … Biasanya yang kita lakukan adalah mereferensikan sel dengan menggunakan objek VBA RANGE.
Kode:
Sub With_Example1 () Range ("A1") End Sub

Sekarang untuk mengubah ukuran font, kita mengakses properti "font" dari sel ini.

Di bawah properti FONT, kami mengakses properti Ukuran dan memasukkan ukuran dengan memberi tanda sama dengan.
Kode:
Sub With_Example1 () Range ("A1") Font.Size = 15 End Sub

Sekarang juga, kami melakukan tugas pemformatan lainnya, seperti yang ditunjukkan di bawah ini.
Kode:
Sub With_Example1 () Range ("A1"). Font.Size = 15 Range ("A1"). Font.Name = "Verdana" Range ("A1"). Interior.Color = vbYellow Range ("A1"). Perbatasan .LineStyle = xlContinuous End Sub

Ini akan melakukan semua tugas yang disebutkan, tetapi jika Anda melihat kode untuk melakukan setiap aktivitas pemformatan, kami telah memberikan alamat sel setiap saat. Ini membuat kode terlihat panjang dan memakan waktu.
Sekarang kita akan menggunakan VBA With pernyataan untuk mengurangi masuknya alamat sel setiap saat. Buka pernyataan WITH di Excel VBA dan berikan alamat sel.
Kode:
Sub With_Example1 () Dengan Range ("A1") End Sub

Di dalam pernyataan With, beri titik untuk melihat semua properti dan metode sel A1.

Sekarang aktivitas pemformatan pertama adalah mengubah ukuran font, jadi akses FONT dan di bawah properti akses SIZE.
Kode:
Sub With_Example1 () Dengan Range ("A1") .Font.Size = 15 End Sub

Demikian pula, berikan kode pemformatan lain dan tutup VBA With Statement.
Kode:
Sub With_Example1 () Dengan Range ("A1") .Font.Size = 15 .Font.Name = "Verdana" .Interior.Color = vbYellow .Borders.LineStyle = xlContinuous End With End Sub

Jalankan kode untuk melihat semua pemformatan di objek yang disebutkan, yaitu sel A1.

Jadi, semua pemformatan diterapkan ke sel. Lihat betapa kerennya teknik ini.
Contoh # 2
Misalnya, jika Anda ingin mengubah semua properti yang terkait dengan font, Anda dapat menyebutkan properti sel dan FONT.
Kode:
Sub With_Example2 () Dengan Range ("A1") Font Diakhiri Dengan End Sub

Inside the VBA With Statement, we can see the IntelliSense list. It will show properties and methods related to FONT property only.

We can perform any set of activities with this now.
Code:
Sub With_Example2() With Range("A1").Font .Bold = True 'Font will be Bold .Color = vbAlias 'Font color will be Alias .Italic = True 'Font will be italic style .Size = 20 ' Font size will be 20 .Underline = True 'Font will be underlined End With End Sub

The result of this will be as shown below.

Example #3
The below code will access only cell border-related properties.
Code:
Sub With_Example3() With Range("B2").Borders .Color = vbRed 'Border color will be red .LineStyle = xlContinuous 'Full border .Weight = xlThick 'Thick border End With End Sub

The result of this code is as follows.

Things to Remember
- Dengan pernyataan digunakan untuk meminimalkan kode.
- Kita perlu menyediakan objek terlebih dahulu untuk pernyataan With.
- Setelah objek tertentu diberikan, kita hanya dapat mengakses properti dan metode objek tersebut.