VBA Với - Làm thế nào để sử dụng với ... End With Statement trong Excel VBA?

Với câu lệnh trong Excel VBA

Câu lệnh With được sử dụng trong VBA để truy cập vào tất cả các thuộc tính và phương thức của một đối tượng được đề cập. Chúng ta cần cung cấp đối tượng VBA mà chúng ta đang đề cập đến trước tiên, sau đó đóng câu lệnh With bằng End With , sau đó bên trong câu lệnh này. Chúng tôi có thể thực hiện tất cả các thay đổi thuộc tính và phương thức của đối tượng được đề cập.

Dưới đây là cú pháp của With Statement trong VBA.

Với (OBJECT) (Mã… Cần phải làm gì?) Kết thúc Với

Đối tượng không là gì ngoài một phạm vi ô hoặc các ô mà chúng ta đang đề cập đến, sau đó chúng ta có thể thay đổi các thuộc tính và thực hiện tất cả các phương thức được liên kết với ô hoặc các ô cụ thể đó.

Làm thế nào để sử dụng với câu lệnh trong Excel VBA?

Dưới đây là một số ví dụ để sử dụng With Statement trong Excel VBA.

Ví dụ 1

Giả sử bạn có một giá trị nhất định trong ô A1, tôi đã nhập văn bản là “Excel VBA” vào ô A1.

Bây giờ đối với ô này, tôi cần thực hiện một số tác vụ, tức là định dạng trong excel.

Tôi muốn thay đổi kích thước phông chữ, tên phông chữ và màu nội thất, chèn đường viền, v.v.… Thông thường những gì chúng tôi làm là đầu tiên chúng tôi tham chiếu ô bằng cách sử dụng đối tượng VBA RANGE.

Mã:

Sub With_Example1 () Range ("A1") End Sub

Bây giờ để thay đổi kích thước phông chữ, chúng tôi truy cập thuộc tính "phông chữ" của ô này.

Trong thuộc tính FONT, chúng ta truy cập thuộc tính Size và nhập kích thước bằng cách đặt dấu bằng.

Mã:

Sub With_Example1 () Range ("A1"). Font.Size = 15 End Sub

Bây giờ, tương tự, chúng tôi thực hiện các tác vụ định dạng khác, như được hiển thị bên dưới.

Mã:

Sub With_Example1 () Range ("A1"). Font.Size = 15 Range ("A1"). Font.Name = "Verdana" Range ("A1"). Interior.Color = vbYellow Range ("A1"). Biên giới .LineStyle = xlContinuous End Sub

Điều này sẽ thực hiện tất cả các tác vụ đã đề cập, nhưng nếu bạn nhìn vào mã để thực hiện từng hoạt động định dạng, chúng tôi đã cung cấp địa chỉ ô mọi lúc. Điều này làm cho mã trông dài và mất thời gian.

Bây giờ chúng ta sẽ sử dụng VBA Với một câu lệnh để giảm việc nhập địa chỉ ô mỗi lần. Mở câu lệnh WITH trong Excel VBA và cung cấp địa chỉ ô.

Mã:

Sub With_Example1 () With Range ("A1") End Sub

Bên trong câu lệnh With, hãy đặt một dấu chấm để xem tất cả các thuộc tính và phương thức của ô A1.

Bây giờ hoạt động định dạng đầu tiên đang thay đổi kích thước phông chữ, vì vậy hãy truy cập FONT và dưới thuộc tính SIZE truy cập này.

Mã:

Sub With_Example1 () With Range ("A1") .Font.Size = 15 End Sub

Tương tự, cung cấp các mã định dạng khác và đóng VBA With Statement.

Mã:

Sub With_Example1 () With Range ("A1") .Font.Size = 15 .Font.Name = "Verdana" .Interior.Color = vbYellow .Borders.LineStyle = xlContinuous End With End Sub

Chạy mã để xem tất cả các định dạng trong đối tượng được đề cập, tức là ô A1.

Vì vậy, tất cả các định dạng được áp dụng cho ô. Hãy xem kỹ thuật này tuyệt làm sao.

Ví dụ số 2

Ví dụ, nếu bạn muốn thay đổi tất cả các thuộc tính liên quan đến phông chữ, bạn có thể đề cập đến thuộc tính ô và FONT.

Mã:

Sub With_Example2 () With Range ("A1"). Font End With 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

  • Câu lệnh With được sử dụng để thu nhỏ mã.
  • Đầu tiên chúng ta cần cung cấp đối tượng cho câu lệnh With.
  • Khi đối tượng cụ thể được cung cấp, chúng ta chỉ có thể truy cập các thuộc tính và phương thức của đối tượng đó.

thú vị bài viết...