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 nào mà chúng ta đang đề cập đến trước rồi đóng câu lệnh With bằng End With , sau đó bên trong câu lệnh này, chúng ta 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 ô mà chúng ta đang tham chiếu đến và 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.

Bạn có thể tải mẫu VBA With Excel này tại đây - VBA With Excel Template

Ví dụ 1

Giả sử bạn có 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 ta 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 ta thực hiện các tác vụ định dạng khác như hình dưới đây.

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 mà chúng tôi đã cung cấp địa chỉ ô mỗi lần, điều này làm cho mã trông dài và tốn thời gian.

Bây giờ chúng ta sẽ sử dụng câu lệnh VBA With để 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") Kết thúc 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 vào 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 thú vị như thế nào.

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 

Bên trong vba With Statement, chúng ta có thể thấy danh sách IntelliSense, nó sẽ hiển thị các thuộc tính và phương thức chỉ liên quan đến thuộc tính FONT.

Chúng tôi có thể thực hiện bất kỳ tập hợp hoạt động nào với điều này ngay bây giờ.

Mã:

 Sub With_Example2 () With Range ("A1"). Phông chữ .Bold = True 'Phông chữ sẽ là Bold .Color = vbAlias' Màu phông chữ sẽ là Bí danh .Italic = True 'Phông chữ sẽ là kiểu chữ nghiêng. Size = 20' Kích thước phông chữ sẽ là 20 .Underline = True 'Phông chữ sẽ được gạch chân End With End Sub 

Kết quả của việc này sẽ như hình dưới đây.

Ví dụ # 3

Mã bên dưới sẽ chỉ truy cập các thuộc tính liên quan đến đường viền ô.

Mã:

 Sub With_Example3 () With Range ("B2"). Borders .Color = vbRed 'Màu đường viền sẽ là màu đỏ .LineStyle = xlContinuous' Đường viền đầy đủ .Weight = xlThick 'Đường viền dày End With End Sub 

Kết quả của đoạn mã này như sau.

Những điều cần ghi nhớ

  • 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 đó.

$config[zx-auto] not found$config[zx-overlay] not found