VBA SendKeys - Ví dụ để sử dụng Phương pháp SendKeys Excel VBA

Mục lục

Excel VBA SendKeys

SendKeys trong ngôn ngữ VBA là một phương thức được sử dụng để gửi các tổ hợp phím đến cửa sổ đang hoạt động để chúng ta có thể làm việc thủ công sau đó. Bất cứ khi nào chúng ta sử dụng bảng chữ cái làm khóa, tất cả các bảng chữ cái cần phải ở dạng ký tự viết thường. Đây là một phương pháp phức tạp và chỉ nên sử dụng nếu cần thiết và khi bạn không còn lựa chọn

“SendKeys” là một trong những chủ đề phức tạp cần hiểu. Không nhiều người trong chúng ta sử dụng tính năng này trong VBA, nhưng luôn là một điều tốt khi có thêm kiến ​​thức về nhiều chủ đề hơn. Trong bài viết này, chúng tôi sẽ hướng dẫn bạn cách sử dụng chức năng SendKeys. Bạn có thể cảm thấy khó khăn khi đọc lại bài viết nhiều lần với cách tiếp cận thực tế để học nhanh và tốt hơn.

Cú pháp

Dưới đây là cú pháp của phương thức VBA SendKeys.

Khóa hoặc Chuỗi: Loại khóa mà chúng tôi cần gửi đến ứng dụng đang hoạt động.

Chờ đợi: Trong đối số này, chúng ta có thể sử dụng hai điều, tức là TRUE hoặc FALSE.

  • ĐÚNG nếu bạn muốn excel chờ các Khóa được chỉ định được xử lý trước khi có điều khiển trở lại macro.
  • FALSE, nếu bạn bỏ qua tham số Wait , đây sẽ là giá trị mặc định. Nếu bạn chọn FALSE, thì excel tiếp tục chạy macro mà không cần đợi các phím được xử lý đến cửa sổ đang hoạt động.

Các phím phổ biến mà chúng tôi sử dụng với bàn phím là “Ctrl, Shift và ALT”. Vì vậy, với phương thức SendKeys, chúng ta cần sử dụng chúng với các ký tự đặc biệt. Bảng dưới đây hiển thị các ký tự đặc biệt cho ba khóa chung trên.

Các phím khác có các phím và ký tự khác nhau. Bảng dưới đây cho thấy giải thích chi tiết cho từng phím.

Theo yêu cầu, chúng tôi có thể sử dụng bất kỳ phím nào ở trên. Với một số ví dụ thực tế, chúng tôi sẽ chỉ cho bạn cách sử dụng SendKeys.

Ví dụ để sử dụng Phương pháp SendKeys Excel VBA

Ví dụ 1

Ví dụ, hãy xem giá trị ô bên dưới.

Chúng tôi có các giá trị trong ba ô và trong ô đầu tiên, chúng tôi có giá trị là “Bangalore” và đối với ô này, có một nhận xét là “Thành phố Thủ đô của Karnataka”.

Hiện đang sử dụng “SendKeys”, chúng tôi cố gắng chỉnh sửa nhận xét này.

Mở trang tính Excel và chuyển đến trình chỉnh sửa cơ bản trực quan, bắt đầu quy trình con VBA.

Mã:

Sub Send_Keys_Example () End Sub

Đầu tiên, chúng ta cần chọn ô bình luận để chỉnh sửa bình luận. Vì vậy, hãy sử dụng mã RANGE (“A1”). Chọn

Mã:

Sub Send_Keys_Example () Range ("A1"). Chọn End Sub

Sau khi ô được chọn, chúng tôi sẽ thực hiện hành động chỉnh sửa nhận xét. Ở đây chúng ta cần nhớ lại phím tắt chúng ta sử dụng để chỉnh sửa bình luận.

Để chỉnh sửa nhận xét, chúng tôi sử dụng phím tắt “Shift + F2” .

Nếu bạn nhấn phím này, nó sẽ được chỉnh sửa bình luận.

Bây giờ, hãy mở phương thức “SendKeys”.

Trong phương thức SendKeys, ký tự để sử dụng phím SHIFT là “+” (Dấu cộng), vì vậy hãy nhập mã đăng nhập “+”.

Bây giờ dấu cộng hoạt động như một phím SHIFT, phím tiếp theo cùng với SHIFT mà chúng ta sử dụng là phím F2. Bất cứ khi nào chúng ta sử dụng các phím chức năng, chúng ta cần đặt chúng bằng dấu ngoặc nhọn, vì vậy hãy nhập phím chức năng F2 trong dấu ngoặc nhọn.

Mã:

Sub Send_Keys_Example () Range ("A1"). Chọn SendKeys "+ (F2)" End Sub

Bây giờ thực thi mã và xem những gì chúng tôi nhận được.

Khi chúng tôi cố gắng thực thi mã, chúng tôi nhận được thông báo như trên. Một trong những điều quan trọng mà chúng ta cần ghi nhớ là chúng ta không thể chạy macro, sử dụng "SendKeys" từ cửa sổ trình chỉnh sửa cơ bản trực quan.

Chúng tôi cần chạy mã từ danh sách "Macro".

Trước tiên, hãy đóng cửa sổ trình soạn thảo Visual Basic.

Chuyển đến tab “Nhà phát triển” và nhấp vào “Macro”.

Bây giờ một danh sách tất cả các macro sẽ mở ra, hãy chọn macro mà bạn cần chạy. Tên macro của chúng tôi là “Send_Keys_Example”, vì vậy tôi sẽ nhấn vào nút chạy.

Bạn có thể thấy rằng tùy chọn Chỉnh sửa nhận xét đã được bật.

Như bạn thấy ở trên, nó đã gán tổ hợp phím tắt SHIFT + F2 để mở tùy chọn chỉnh sửa bình luận.

Ví dụ số 2

Ví dụ: nếu bạn muốn mở cửa sổ “Dán đặc biệt” thông qua phương thức SendKeys, chúng tôi cũng có thể làm điều này. Đầu tiên, chúng ta cần sao chép một số ô nhất định và sau đó sử dụng SendKeys.

Mã:

Sub Send_Keys_Example1 () Range ("A1"). Sao chép SendKeys "% es" End Sub

Chọn macro mà bạn cần chạy và sau đó nhấp vào Chạy.

Khi bạn chạy mã, nó sẽ mở ra bên dưới dán hộp thoại đặc biệt.

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

  • SendKeys chỉ định các tổ hợp phím cho ứng dụng đang hoạt động.
  • Phương pháp này rất phức tạp và bạn chỉ nên sử dụng nếu cần thiết và khi bạn không còn lựa chọn.
  • Bất cứ khi nào chúng ta sử dụng bảng chữ cái làm khóa, tất cả các bảng chữ cái cần phải ở dạng ký tự viết thường.

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