Sự kiện VBA trong Excel

Các sự kiện luôn xảy ra khi người dùng mở sổ làm việc Excel và bắt đầu thực hiện các hành động khác nhau như nhập dữ liệu vào ô hoặc di chuyển giữa các trang tính

Trong Trình soạn thảo Visual Basic (ALT + F11), các quy trình phụ đã được thiết lập có thể bị kích hoạt khi người dùng làm điều gì đó, ví dụ: nhập dữ liệu vào một ô. Quy trình phụ không cung cấp bất kỳ mã hành động nào, chỉ đơn thuần là câu lệnh ‘Sub’ và câu lệnh ‘End Sub’ không có mã nào giữa chúng. Chúng không hoạt động hiệu quả nên không có gì xảy ra cho đến khi bạn nhập một số mã.

Dưới đây là một ví dụ dựa trên sự kiện 'Thay đổi' trong một trang tính:

Là một lập trình viên VBA, bạn có thể thêm mã để thực hiện một số điều nhất định xảy ra khi người dùng thực hiện một hành động cụ thể. Điều này cho bạn cơ hội kiểm soát người dùng và ngăn họ thực hiện các hành động mà bạn không muốn họ làm và có thể làm hỏng sổ làm việc của bạn. Ví dụ: bạn có thể muốn họ lưu bản sao sổ làm việc riêng lẻ của họ dưới một tên khác, để chúng không ảnh hưởng đến bản gốc, vốn có thể được một số người dùng sử dụng.

Nếu họ đóng sổ làm việc, thì họ sẽ tự động được nhắc lưu các thay đổi của mình. Tuy nhiên, sổ làm việc có sự kiện ‘BeforeClose’ và bạn có thể nhập mã để ngăn sổ làm việc bị đóng và kích hoạt sự kiện ‘Save’. Sau đó, bạn có thể thêm một nút vào chính trang tính và đặt quy trình ‘Lưu’ của riêng bạn vào đó. Bạn cũng có thể tắt quy trình ‘Lưu’ bằng sự kiện ‘Trước khi lưu’

Sự hiểu biết về cách thức hoạt động của các sự kiện là hoàn toàn cần thiết đối với một lập trình viên VBA.

Các loại sự kiện

Sách bài tập Sự kiện - những sự kiện này bị loại bỏ dựa trên những gì người dùng thực hiện với chính sổ làm việc. Chúng bao gồm các hành động của người dùng như mở sổ làm việc, đóng sổ làm việc, lưu sổ làm việc, thêm hoặc xóa trang tính

Sự kiện bảng tính - các sự kiện này được thực hiện bởi người dùng thực hiện các hành động trên một trang tính cụ thể. Mỗi trang tính trong sổ làm việc có một mô-đun mã riêng, chứa các sự kiện khác nhau dành riêng cho trang tính đó (không phải cho tất cả các trang tính). Chúng bao gồm các hành động của người dùng như thay đổi nội dung của ô, nhấp đúp vào ô hoặc nhấp chuột phải vào ô.

Sự kiện kiểm soát Active X - Các điều khiển X hoạt động có thể được thêm vào trang tính bằng cách sử dụng biểu tượng ‘Chèn’ trên tab ‘Nhà phát triển’ trong ruy-băng Excel. Đây thường là các nút điều khiển để cho phép người dùng thực hiện các hành động khác nhau dưới sự kiểm soát của mã của bạn, nhưng chúng cũng có thể là các đối tượng chẳng hạn như trình đơn thả xuống. Sử dụng các điều khiển Active X thay vì điều khiển Biểu mẫu trên trang tính mang lại toàn bộ phạm vi cho khả năng lập trình. Các điều khiển Active X cung cấp cho bạn sự linh hoạt hơn theo quan điểm lập trình so với việc sử dụng các điều khiển biểu mẫu trong một trang tính.

Ví dụ: bạn có thể có hai điều khiển thả xuống trên trang tính của mình. Bạn muốn danh sách có sẵn trong menu thả xuống thứ hai dựa trên những gì người dùng đã chọn trong menu thả xuống đầu tiên. Sử dụng sự kiện 'Thay đổi' trên menu thả xuống đầu tiên, bạn có thể tạo mã để đọc những gì người dùng đã chọn và sau đó cập nhật menu thả xuống thứ hai. Bạn cũng có thể hủy kích hoạt menu thả xuống thứ hai cho đến khi người dùng thực hiện lựa chọn trong menu thả xuống đầu tiên

Sự kiện UserForm - Bạn có thể chèn và thiết kế một biểu mẫu trông chuyên nghiệp để sử dụng làm cửa sổ bật lên. Tất cả các điều khiển mà bạn đặt trên biểu mẫu của mình là các điều khiển Active X và chúng có các sự kiện giống như các điều khiển Active X mà bạn có thể đặt trên một trang tính

Sự kiện biểu đồ - Những sự kiện này chỉ liên quan đến trang tính biểu đồ và không liên quan đến biểu đồ xuất hiện như một phần của trang tính. Những sự kiện này bao gồm thay đổi kích thước biểu đồ hoặc chọn biểu đồ.

Sự kiện ứng dụng - Chúng sử dụng đối tượng Ứng dụng trong VBA. Các ví dụ sẽ cho phép mã được kích hoạt khi nhấn một phím nhất định hoặc khi đạt đến một thời điểm nhất định. Bạn có thể lập trình một tình huống trong đó sổ làm việc được mở 24/7 và nó nhập dữ liệu từ nguồn bên ngoài qua đêm tại một thời điểm xác định trước.

Nguy cơ của việc sử dụng mã trong sự kiện

Khi bạn viết mã để làm điều gì đó khi người dùng thực hiện một hành động nhất định, bạn cần lưu ý rằng mã của bạn có thể đang kích hoạt các sự kiện khác, điều này có thể đưa mã của bạn vào một vòng lặp liên tục.

Ví dụ: giả sử bạn sử dụng sự kiện 'Thay đổi' trên một trang tính để khi người dùng đặt một giá trị vào một ô, một phép tính dựa trên ô đó sẽ được đặt vào ô ngay bên phải ô đó.

Vấn đề ở đây là việc đặt giá trị được tính toán vào ô sẽ kích hoạt một sự kiện 'Thay đổi' khác, sau đó sẽ kích hoạt một sự kiện 'Thay đổi' khác, v.v. cho đến khi mã của bạn hết cột để sử dụng và ném lên một thông báo lỗi.

Bạn cần suy nghĩ cẩn thận khi viết mã cho sự kiện để đảm bảo rằng các sự kiện khác sẽ không vô tình được kích hoạt

Tắt sự kiện

Bạn có thể sử dụng mã để tắt các sự kiện để khắc phục sự cố này. Những gì bạn cần làm là kết hợp mã để vô hiệu hóa các sự kiện trong khi mã sự kiện của bạn đang chạy và sau đó kích hoạt lại các sự kiện ở cuối mã. Đây là một ví dụ về cách làm điều đó:

1234 Sub DisableEvents ()Application.EnableEvents = SaiApplication.EnableEvents = TrueKết thúc Sub

Hãy nhớ rằng điều này sẽ vô hiệu hóa tất cả các sự kiện ngay trên ứng dụng Excel, vì vậy điều này cũng sẽ ảnh hưởng đến các chức năng khác trong Excel. Nếu bạn sử dụng điều này vì bất kỳ lý do gì, hãy đảm bảo rằng các sự kiện được bật lại sau đó.

Tầm quan trọng của các tham số trong sự kiện

Sự kiện thường có các tham số mà bạn có thể sử dụng để tìm hiểu thêm về những gì người dùng đang làm và vị trí ô mà họ đang ở.

Ví dụ: sự kiện Thay đổi Trang tính trông như thế này:

1 Private Sub Worksheet_Change (ByVal Target As Range)

Bằng cách sử dụng đối tượng phạm vi, bạn có thể tìm ra tọa độ hàng / cột của ô mà người dùng thực sự đang ở đó.

1234 Private Sub Worksheet_Change (ByVal Target As Range)MsgBox Target.ColumnMsgBox Target.RowKết thúc Sub

Nếu bạn chỉ muốn mã của mình hoạt động trên một số cột hoặc hàng nhất định, thì bạn thêm điều kiện thoát khỏi chương trình con nếu cột đó không phải là điều kiện bắt buộc.

123 Private Sub Worksheet_Change (ByVal Target As Range)If Target.Column 2 then Exit SubKết thúc Sub

Điều này giải quyết vấn đề mã của bạn kích hoạt nhiều sự kiện, vì nó sẽ chỉ hoạt động nếu người dùng đã thay đổi một ô trong cột 2 (cột B)

Ví dụ về sự kiện sổ làm việc (không đầy đủ)

Các sự kiện sổ làm việc được tìm thấy trong đối tượng ‘ThisWorkbook’ trong Trình khám phá dự án VBE. Bạn sẽ cần chọn ‘Workbook’ trên menu thả xuống đầu tiên trên cửa sổ mã và sau đó menu thả xuống thứ hai sẽ hiển thị cho bạn tất cả các sự kiện có sẵn

Sự kiện mở sổ làm việc

Sự kiện này được kích hoạt bất cứ khi nào người dùng mở sổ làm việc. Bạn có thể sử dụng nó để gửi thông điệp chào mừng đến người dùng bằng cách ghi lại tên người dùng của họ

123 Private Sub Workbook_Open ()MsgBox "Chào mừng" & Application.UserNameKết thúc Sub

Bạn cũng có thể kiểm tra tên người dùng của họ so với danh sách được giữ trên trang tính ẩn để xem liệu họ có được phép truy cập vào sổ làm việc hay không. Nếu họ không phải là người dùng được ủy quyền, thì bạn có thể hiển thị thông báo và đóng sổ làm việc để họ không thể sử dụng nó.

Sự kiện trang tính mới của sổ làm việc

Sự kiện này được kích hoạt khi người dùng thêm trang tính mới vào sổ làm việc

Bạn có thể sử dụng mã này để chỉ cho phép mình thêm một trang tính mới, thay vì để những người dùng khác nhau thêm tất cả các trang tính và làm cho sổ làm việc trở nên lộn xộn

1234567 Private Sub Workbook_NewSheet (ByVal Sh As Object)Application.DisplayAlerts = FalseIf Application.UserName "Richard" Sau đóSh.DeleteKết thúc nếuApplication.DisplayAlerts = TrueKết thúc Sub

Lưu ý rằng bạn cần tắt cảnh báo vì cảnh báo người dùng sẽ xuất hiện khi trang tính bị xóa, điều này cho phép người dùng phá mã của bạn. Đảm bảo rằng bạn bật lại cảnh báo sau đó!

Bạn mệt mỏi với việc tìm kiếm ví dụ về mã VBA? Hãy thử AutoMacro!

Sổ làm việc Trước khi Lưu Sự kiện

Sự kiện này được kích hoạt khi người dùng nhấp vào biểu tượng "Lưu", nhưng trước khi "Lưu" thực sự diễn ra

Như đã mô tả trước đó, bạn có thể muốn ngăn người dùng lưu các thay đổi của họ vào sổ làm việc gốc và buộc họ tạo phiên bản mới bằng cách sử dụng một nút trên trang tính. Tất cả những gì bạn cần làm là thay đổi tham số ‘Cancel’ thành True và sổ làm việc không bao giờ có thể được lưu bằng phương pháp thông thường.

123 Private Sub Workbook_BeforeSave (ByVal SaveAsUI As Boolean, Cancel As Boolean)Hủy bỏ = ĐúngKết thúc Sub

Sổ làm việc Trước khi Đóng Sự kiện

Bạn có thể sử dụng sự kiện này để ngăn người dùng đóng sổ làm việc và lại buộc họ thoát qua nút trang tính. Một lần nữa, bạn đặt tham số ‘Cancel’ thành ‘True’. Dấu X màu đỏ ở góc trên cùng bên phải của cửa sổ Excel không còn hoạt động nữa.

123 Private Sub Workbook_BeforeClose (Cancel As Boolean)Hủy bỏ = ĐúngKết thúc Sub

Ví dụ về sự kiện trên bảng tính (không đầy đủ)

Các sự kiện trang tính được tìm thấy bên dưới đối tượng tên trang tính cụ thể trong Trình khám phá dự án VBE. Bạn sẽ cần chọn ‘Trang tính’ trên menu thả xuống đầu tiên trên cửa sổ mã và sau đó menu thả xuống thứ hai sẽ hiển thị cho bạn tất cả các sự kiện có sẵn

Sự kiện thay đổi trang tính

Sự kiện này được kích hoạt khi người dùng thực hiện thay đổi đối với trang tính, chẳng hạn như nhập giá trị mới vào ô

Bạn có thể sử dụng sự kiện này để đặt một giá trị bổ sung hoặc nhận xét bên cạnh ô đã thay đổi, nhưng như đã thảo luận trước đó, bạn không muốn bắt đầu thiết lập một vòng lặp sự kiện.

12345 Private Sub Worksheet_Change (ByVal Target As Range)If Target.Column 2 then Exit SubActiveSheet.Cells (Target.Row, Target.Column + 1). Giá trị = _ActiveSheet.Cells (Target.Row, Target.Column). Giá trị * 1.1Kết thúc Sub

Trong ví dụ này, mã sẽ chỉ hoạt động nếu giá trị được nhập vào Cột B (cột 2). Nếu điều này là đúng thì nó sẽ thêm 10% vào số và đặt nó vào ô có sẵn tiếp theo

Bảng tính trước sự kiện nhấp đúp

Sự kiện này sẽ kích hoạt mã nếu người dùng nhấp đúp vào một ô. Điều này có thể cực kỳ hữu ích cho các báo cáo tài chính như bảng cân đối kế toán hoặc tài khoản lãi & lỗ, nơi các con số có khả năng bị nhà quản lý thách thức, đặc biệt nếu lợi nhuận cuối cùng là số âm!

Bạn có thể sử dụng điều này để cung cấp cơ sở chi tiết, để khi người quản lý thách thức một số cụ thể, tất cả những gì họ phải làm là nhấp đúp vào số đó và bảng phân tích sẽ xuất hiện như một phần của báo cáo.

Điều này rất ấn tượng theo quan điểm của người dùng và khiến họ liên tục hỏi "tại sao con số này lại cao như vậy?"

Bạn sẽ cần viết mã để tìm ra tiêu đề / tiêu chí cho số (sử dụng thuộc tính đối tượng Target) và sau đó lọc dữ liệu dạng bảng rồi sao chép nó vào báo cáo.

Lập trình VBA | Code Generator làm việc cho bạn!

Sự kiện kích hoạt bảng tính

Sự kiện này xảy ra khi người dùng di chuyển từ trang tính này sang trang tính khác. Nó áp dụng cho trang tính mới mà người dùng đang chuyển đến.

Nó có thể được sử dụng để đảm bảo rằng trang tính mới được tính toán hoàn toàn trước khi người dùng bắt đầu làm bất cứ điều gì trên đó. Nó cũng có thể được sử dụng để chỉ tính toán lại trang tính cụ thể đó mà không tính toán lại toàn bộ sổ làm việc. Nếu sổ làm việc lớn và có công thức phức tạp trong đó, thì việc tính toán lại một trang tính sẽ tiết kiệm rất nhiều thời gian

123 Private Sub Worksheet_Activate ()ActiveSheet.CalculateKết thúc Sub

Sự kiện kiểm soát Active X (không đầy đủ)

Như đã thảo luận trước đó, bạn có thể thêm các điều khiển Active X trực tiếp vào một trang tính. Đây có thể là các nút lệnh, trình đơn thả xuống và hộp danh sách

Các sự kiện Active X được tìm thấy dưới đối tượng tên trang cụ thể (nơi bạn đã thêm điều khiển) trong Trình khám phá dự án VBE. Bạn sẽ cần chọn tên của điều khiển Active X trên menu thả xuống đầu tiên trên cửa sổ mã và sau đó menu thả xuống thứ hai sẽ hiển thị cho bạn tất cả các sự kiện có sẵn

Sự kiện nhấp vào nút lệnh

Khi bạn đã đặt một nút lệnh vào bảng tính, bạn sẽ muốn nó thực hiện một số hành động. Bạn thực hiện việc này bằng cách đặt mã vào sự kiện Click.

Bạn có thể dễ dàng đặt thông báo "Bạn có chắc chắn không?" Vào phần này để kiểm tra trước khi mã của bạn chạy

12345 Private Sub CommandButton1_Click ()Nút DimRet As VariantButtonRet = MsgBox ("Bạn có chắc chắn muốn làm điều này không?", VbQuestion Hoặc vbYesNo)If ButtonRet = vbNo Then Exit SubKết thúc Sub

Sự kiện thay đổi thả xuống (Hộp kết hợp)

Một Active X thả xuống có một sự kiện thay đổi, vì vậy nếu người dùng chọn một mục cụ thể từ danh sách thả xuống, bạn có thể nắm bắt lựa chọn của họ bằng cách sử dụng sự kiện này và sau đó viết mã để điều chỉnh các phần khác của trang tính hoặc sổ làm việc cho phù hợp.

123 Private Sub ComboBox1_Change ()MsgBox "Bạn đã chọn" & ComboBox1.TextKết thúc Sub

Lập trình VBA | Code Generator làm việc cho bạn!

Hộp đánh dấu (Hộp kiểm) Nhấp vào Sự kiện

Bạn có thể thêm dấu chọn hoặc hộp kiểm vào trang tính để cung cấp các lựa chọn tùy chọn cho người dùng. Bạn có thể sử dụng sự kiện nhấp chuột vào nó để xem liệu người dùng có thay đổi bất kỳ điều gì về điều này hay không. Các giá trị trả về là True hoặc False tùy theo việc nó đã được đánh dấu hay chưa.

123 Private Sub CheckBox1_Click ()MsgBox CheckBox1.ValueKết thúc Sub

Sự kiện UserForm (không đầy đủ)

Excel cung cấp khả năng để bạn thiết kế biểu mẫu của riêng mình. Chúng có thể rất hữu ích để sử dụng làm cửa sổ bật lên để thu thập thông tin hoặc cung cấp nhiều lựa chọn cho người dùng. Chúng sử dụng các điều khiển Active X như đã mô tả trước đó và có các sự kiện chính xác giống nhau, mặc dù các sự kiện phụ thuộc rất nhiều vào loại điều khiển.

Đây là một ví dụ về một biểu mẫu đơn giản:

Khi nó được hiển thị, nó sẽ trông như thế nào trên màn hình

Bạn sẽ sử dụng các sự kiện trên biểu mẫu để thực hiện những việc như nhập tên công ty mặc định khi mở biểu mẫu, để kiểm tra thông tin đầu vào tên công ty đồng ý với tên công ty đã có trong bảng tính và không bị viết sai chính tả và để thêm mã vào lần nhấp sự kiện trên các nút 'OK' và 'Cancel'

Có thể xem mã và các sự kiện đằng sau biểu mẫu bằng cách nhấp đúp vào bất kỳ đâu trên biểu mẫu

Trình đơn thả xuống đầu tiên cung cấp quyền truy cập vào tất cả các điều khiển trên biểu mẫu. Trình đơn thả xuống thứ hai sẽ cấp quyền truy cập vào các sự kiện

Sự kiện kích hoạt UserForm

Sự kiện này được kích hoạt khi biểu mẫu được kích hoạt, bình thường khi biểu mẫu được hiển thị. Sự kiện này có thể được sử dụng để thiết lập các giá trị mặc định, ví dụ: tên công ty mặc định trong hộp văn bản tên công ty

123 Private Sub UserForm_Activate ()TextBox1.Text = "Tên công ty của tôi"Kết thúc Sub

Lập trình VBA | Code Generator làm việc cho bạn!

Thay đổi sự kiện

Hầu hết các điều khiển trên biểu mẫu có sự kiện thay đổi, nhưng trong ví dụ này, hộp văn bản tên công ty có thể sử dụng sự kiện này để giới hạn độ dài của tên công ty được nhập

123456 Private Sub TextBox1_Change ()Nếu Len (TextBox1.Text)> 20 ThìMsgBox "Tên được giới hạn trong 20 ký tự", vbCriticalTextBox1.Text = ""Kết thúc nếuKết thúc Sub

Nhấp vào Sự kiện

Bạn có thể sử dụng sự kiện này để thực hiện hành động từ việc người dùng nhấp vào các điều khiển trên biểu mẫu hoặc thậm chí chính biểu mẫu

Trên biểu mẫu này có nút "OK" và sau khi thu thập tên công ty, chúng tôi muốn đặt nó vào một ô trên bảng tính để tham khảo trong tương lai

1234 Private Sub CommandButton1_Click ()ActiveSheet.Range ("A1"). Giá trị = TextBox1.TextMe.HideKết thúc Sub

Mã này hoạt động khi người dùng nhấp vào nút ‘OK’. Nó đặt giá trị trong hộp nhập tên công ty vào ô A1 trên trang tính hiện hoạt và sau đó ẩn biểu mẫu để quyền kiểm soát của người dùng được trả lại trang tính.

Sự kiện biểu đồ

Sự kiện biểu đồ chỉ hoạt động trên các biểu đồ nằm trên một trang biểu đồ riêng biệt và không hoạt động trên một biểu đồ được kết hợp vào một trang tính tiêu chuẩn

Các sự kiện biểu đồ có phần hạn chế và không thể sử dụng trên một trang tính mà bạn có thể có nhiều biểu đồ. Ngoài ra, người dùng không nhất thiết muốn chuyển từ trang tính chứa số sang trang tính biểu đồ - không có tác động trực quan ngay lập tức ở đây

Sự kiện hữu ích nhất sẽ là tìm ra thành phần của biểu đồ mà người dùng đã nhấp vào, ví dụ: một phân đoạn trong biểu đồ hình tròn hoặc một thanh trong biểu đồ thanh, nhưng đây không phải là sự kiện có sẵn trên phạm vi sự kiện tiêu chuẩn.

Vấn đề này có thể được giải quyết bằng cách sử dụng mô-đun lớp để thêm sự kiện ‘Mouse Down’ sẽ trả về thông tin chi tiết của thành phần biểu đồ mà người dùng đã nhấp vào. Điều này được sử dụng trên một biểu đồ trong một trang tính.

Điều này liên quan đến một số mã hóa rất phức tạp, nhưng kết quả rất ngoạn mục. Bạn có thể tạo chi tiết, ví dụ: người dùng nhấp vào phân đoạn biểu đồ hình tròn và ngay lập tức biểu đồ đó bị ẩn và biểu đồ thứ hai xuất hiện ở vị trí của nó hiển thị biểu đồ hình tròn chi tiết cho phân đoạn ban đầu hoặc bạn có thể tạo dữ liệu dạng bảng hỗ trợ phân đoạn đó của biểu đồ hình tròn.

Sự kiện ứng dụng

Bạn có thể sử dụng đối tượng Ứng dụng trong VBA để kích hoạt mã theo một sự kiện cụ thể

Lập trình VBA | Code Generator làm việc cho bạn!

Application.OnTime

Điều này có thể cho phép bạn kích hoạt một đoạn mã trong khoảng thời gian đều đặn miễn là sổ làm việc được tải vào Excel. Bạn có thể muốn tự động lưu sổ làm việc của mình vào một thư mục khác sau mỗi 10 phút hoặc để trang tính chạy qua đêm để mang lại dữ liệu mới nhất từ ​​nguồn bên ngoài.

Trong ví dụ này, một quy trình con được nhập vào một mô-đun. Nó hiển thị một hộp thông báo cứ sau 5 phút, mặc dù đây có thể dễ dàng là một thủ tục được mã hóa khác. Đồng thời, nó đặt lại bộ đếm thời gian về thời gian hiện tại cộng thêm 5 phút nữa.

Mỗi khi nó chạy, bộ hẹn giờ sẽ đặt lại để chạy cùng một quy trình phụ trong thời gian 5 phút nữa.

1234 Sub TestOnTime ()MsgBox "Kiểm tra OnTime"Application.OnTime (Now () + TimeValue ("00:05:00")), "TestOnTime"Kết thúc Sub

Application.OnKey

Chức năng này cho phép bạn thiết kế các phím nóng của riêng mình. Bạn có thể đặt bất kỳ tổ hợp phím nào gọi là quy trình phụ do bạn sáng tạo.

Trong ví dụ này, ký tự ‘a’ được chuyển hướng để thay vì đặt ‘a’ trong một ô, nó sẽ hiển thị một hộp thông báo. Mã này cần được đặt trong một mô-đun đã chèn.

123456 Sub TestKeyPress ()Application.OnKey "a", "TestKeyPress"Kết thúc SubSub TestKeyPress ()MsgBox "Bạn đã nhấn 'a'"Kết thúc Sub

Trước hết, bạn chạy quy trình phụ ‘TestKeyPress’. Bạn chỉ cần chạy điều này một lần. Nó cho Excel biết rằng mỗi khi ký tự ‘a’ được nhấn, nó sẽ gọi quy trình con là ‘TestKeyPress’. Quy trình phụ ‘TestKeyPress’ chỉ hiển thị một hộp thông báo cho bạn biết rằng bạn đã nhấn phím ‘a’. Tất nhiên, nó có thể tải một biểu mẫu hoặc làm tất cả những thứ khác.

Bạn có thể sử dụng bất kỳ tổ hợp phím nào mà bạn có thể sử dụng với chức năng 'SendKeys'

Để hủy chức năng này, bạn chạy câu lệnh ‘OnKey’ mà không có tham số ‘Thủ tục’.

123 Sub CancelOnKey ()Application.OnKey "a"Kết thúc Sub

Mọi thứ hiện đã trở lại bình thường.

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