VBA có / kết thúc với câu lệnh

Bài viết này sẽ trình bày cách sử dụng With và End With trong VBA

Excel cung cấp cho chúng ta cơ hội học VBA bằng cách ghi lại các macro. Các macro này ghi lại theo đúng nghĩa đen mọi thứ mà chúng ta thực hiện trên màn hình và chuyển đổi các hành động thành mã VBA. Sau đó, chúng tôi có thể phân tích mã này và học hỏi từ nó.

Khi chúng tôi ghi macro trong VBA, đáng kể nhất là khi chúng tôi thay đổi định dạng của ô, macro sẽ thường xuyên hơn là không sử dụng Cú pháp With… End With trong bản ghi của nó. Hiểu được những điều này có nghĩa là gì và được sử dụng để làm gì là một phần quan trọng của VBA.

Ghi Macro

Để ghi macro trong Excel, trong Ruy-băng, lựa chọn Xem> Macro> Ghi Macro.

HOẶC

Nhà phát triển> Ghi Macro

Lưu ý: Nếu bạn không thấy Ruy băng dành cho nhà phát triển, bạn cần phải bật nó. Nhấp vào ĐÂY để tìm hiểu cách thực hiện việc này.

Nhập tên cho macro và bấm OK.

Đánh dấu một số ô, sau đó định dạng chúng cho Bold, thay đổi màu thành màu đỏ và sửa đổi kích thước phông chữ. Sau đó nhấp vào Dừng ở góc dưới cùng bên trái của màn hình để dừng ghi macro.

Cú pháp câu lệnh WITH

Để xem / chỉnh sửa Macro đã ghi của bạn: Trong Ruy-băng, hãy chọn Xem> Macro> Xem Macro. Chọn macro vừa ghi, sau đó bấm Chỉnh sửa.

HOẶC

Trong Ruy-băng, hãy chọn Nhà phát triển> Visual Basic để chuyển sang Cửa sổ VBE.

Macro được ghi có thể trông giống như ví dụ bên dưới

123456789 Sub WithMacro ()Phạm vi ("A2: C10"). ChọnSelection.Font.Bold = TrueSelection.Font.Size = 12Với Selection.Font.Màu = -16776961.TintAndShade = 0Kết thúc vớiKết thúc Sub

Đầu tiên, chúng tôi đã chọn phạm vi A2: C10.

Sau đó, chúng tôi đã đặt độ đậm thành true và kích thước phông chữ là 12. Lưu ý rằng mã “Selection.Font” được lặp lại cho các dòng này.

Macro sau đó đã ghi lại việc chúng tôi thay đổi màu sắc của văn bản - lưu ý rằng lần này, Selection.Font có VỚI ở phía trước của nó và 2 thuộc tính đang được sửa đổi (màu sắc và bóng mờ) có dấu chấm (.) ở phía trước chúng. Vùng mã sau đó được hoàn thành với một KẾT THÚC VỚI.

Để đơn giản hóa mã này, chúng ta có thể di chuyển Chữ in đậm và Kích thước vào trong câu lệnh WITH, và do đó loại bỏ sự cần thiết phải lặp lại từ Selection.

123456789 Sub WithMacro ()Phạm vi ("A2: C10"). ChọnVới Selection.Font.Bold = True.Size = 12.Màu = -16776961.TintAndShade = 0Kết thúc vớiKết thúc Sub

Cú pháp của câu lệnh WITH… END WITH rất đơn giản:

123 VỚI đối tượng'thuộc tính định dạng / thay đổiKẾT THÚC VỚI

Chúng tôi có thể đã sửa đổi mã theo một cách khác:

1234567 Sub RemoveWith ()Phạm vi ("A2: C10"). ChọnSelection.Font.Bold = TrueSelection.Font.Size = 12Selection.Font.Color = -16776961Selection.Font.TintAndShade = 0Kết thúc Sub

Trong ví dụ trên, chúng tôi đã thêm các từ Selection.Font vào mỗi dòng của mã. Do đó, chúng tôi đã nhắc lại nhiều lần đến Đối tượng Selection.Font trong mã.

Tuy nhiên, sử dụng câu lệnh WITH có nghĩa là chúng ta chỉ cần tham chiếu đến Đối tượng này một lần trong mã. Đây là một cách viết mã rõ ràng hơn - nó yêu cầu VBA bắt đầu ở WITH và kết thúc ở END WITH - mã để chạy tất cả được bao gồm trong 2 từ đó. Nó làm cho macro chạy nhanh hơn và hiệu quả hơn (đặc biệt là đối với các macro dài hơn) và thêm cấu trúc vào mã của bạn.

Bạn sẽ giúp sự phát triển của trang web, chia sẻ trang web với bạn bè

wave wave wave wave wave