Điều chỉnh giá trị ngày bằng phím bấm (Microsoft Excel)
Robert lưu ý rằng trong trường Quicken date, nếu anh ấy nhấn phím cộng hoặc trừ thì ngày tháng sẽ tăng hoặc giảm một ngày. Anh ấy muốn tạo ra loại hiệu ứng tương tự như vậy trong Excel.
Đây là một vấn đề khó tiếp cận hơn người ta có thể giả định, đặc biệt là trong Excel. Vì một hành động cần được thực hiện khi nhấn một phím cụ thể (trong trường hợp này là phím cộng hoặc phím trừ), nên mặc nhiên người ta sẽ cho rằng phương pháp OnKey có thể được sử dụng. Hãy xem xét các ví dụ sau:
Sub Start_OnKey() Application.OnKey "{+}", "Plus1" Application.OnKey "-", "Minus1" End Sub
Sub End_OnKey() Application.OnKey "{+}" Application.OnKey "-" End Sub
Sub Plus1() If IsDate(ActiveCell) And Not ActiveCell.HasFormula Then ActiveCell.Value = ActiveCell.Value + 1 End If End Sub
Sub Minus1() If IsDate(ActiveCell) And Not ActiveCell.HasFormula Then ActiveCell.Value = ActiveCell.Value - 1 End If End Sub
Theo tất cả các tài liệu VBA, phần trên sẽ hoạt động tốt, sau khi bạn chạy macro Start_OnKey. Mỗi khi nhấn phím dấu cộng hoặc phím trừ, quy trình thích hợp sẽ được chạy để tăng ngày hoặc giảm ngày. Vấn đề là nó sẽ không hoạt động trên một số phiên bản Excel. Tại sao? Bởi vì phím cộng, khi được nhấn, dường như đặt một số phiên bản Excel vào chế độ “nhập công thức” đặc biệt bỏ qua bộ đệm bàn phím thông thường do OnKey dựa vào. Vì vậy, trong khi nhấn phím trừ trong khi một ô chứa ngày được chọn sẽ tạo ra kết quả mong muốn, còn nhấn phím cộng thì không.
Đối với những phiên bản Excel mà phím cộng là một vấn đề, giải pháp duy nhất là thay đổi tổ hợp phím thành thứ gì đó khác. Ví dụ: bạn có thể thay đổi các lần nhấn phím để Ctrl + u được sử dụng để tăng ngày và Ctrl + d được sử dụng để giảm ngày:
Sub Start_OnKey() Application.OnKey "^u", "Plus1" Application.OnKey "^d", "Minus1" End Sub
Sub End_OnKey() Application.OnKey "^u" Application.OnKey "^d" End Sub
_Lưu ý: _
Nếu bạn muốn biết cách sử dụng các macro được mô tả trên trang này (hoặc trên bất kỳ trang nào khác trên trang ExcelTips), tôi đã chuẩn bị một trang đặc biệt bao gồm thông tin hữu ích.
ExcelTips là nguồn của bạn để đào tạo Microsoft Excel hiệu quả về chi phí.
Mẹo này (7197) áp dụng cho Microsoft Excel 97, 2000, 2002 và 2003.