Mã VBA cho Lịch bật lên trong Excel
Tôi đã tạo Lịch bật lên trong sổ làm việc Excel có 3 bảng tính. Nó hoạt động, ngoại trừ khi tôi mở sổ làm việc và nhấp vào bảng tính Cơ sở dữ liệu hoạt động (tôi đã đặt nó ở Ô A6). Vì vậy, khi tôi mở bảng tính Cơ sở dữ liệu hoạt động và đang ở Ô A6, lịch bật lên không xuất hiện. Tuy nhiên, nếu tôi đi đến ô khác, lịch sẽ xuất hiện và sau đó nếu tôi quay lại Ô A6 thì lịch sẽ bật lên.
Có ý tưởng gì sai không. Tôi đã cố đính kèm sổ làm việc nhưng không biết làm cách nào. Cảm ơn.
Trả lời:
Tôi không thể nhìn thấy mã của bạn nhưng có lẽ mã bảng tính trông như thế này
Bảng tính phụ riêng tư_SelectionChange(ByVal Target As Range)
frmCalendar.Show
Kết thúc phụ
Lịch chỉ bật lên khi bạn chọn một ô nên hãy lưu bằng con trỏ vào một ô khác rồi chọn A6
HOẶC nếu bạn muốn ô hoạt động là A6, hãy sử dụng loại mã này để thay thế.
Bảng tính phụ riêng tư_Activate()
frmCalendar.Show
Kết thúc phụ
Lịch bật lên khi bạn chọn trang tính.
Chúa
Trả lời:
Tôi đã thử mã mà bạn đã chỉ ra ở trên nhưng nó không tạo ra sự khác biệt. Đây là mã mà tôi có:
Bảng tính phụ riêng tư_SelectionChange(ByVal Target As Range)
Nếu không giao nhau(Range("A6:A1400"), Target) thì không có gì
frmCalendar.Show
Kết thúc nếu
Nếu không giao nhau(Range("O6:O1400"), Target) thì không có gì
frmCalendar.Show
Kết thúc nếu
Nếu không giao nhau(Range("P6:P1400"), Target) thì không có gì
frmCalendar.Show
Kết thúc nếu
Nếu không giao nhau(Phạm vi("Q6:Q1400"), Target) thì không có gì
frmCalendar.Show
Kết thúc nếu
Nếu không giao nhau(Range("S6:S1400"), Target) thì không có gì
frmCalendar.Show
Kết thúc nếu
Kết thúc phụ
Như tôi đã nói nếu tôi chọn một ô khác rồi đi tới A6 thì lịch sẽ bật lên, nhưng khi tôi mở bảng tính và con trỏ ở ô A6 thì lịch không bật lên.
Trả lời:
Không có gì sai với mã của bạn. Tôi đã thử nó trong một sổ làm việc mới và nó hoạt động bình thường.
Việc mở sổ làm việc với ô được chọn trong trang tính sẽ không kích hoạt mã.
Mã của bạn là loại SelectionChange
Bạn phải chọn một ô trước khi Lịch bật lên.
Nếu bạn muốn chọn A6 và Lịch bật lên khi mở sổ làm việc, bạn có thể thêm
mã sự kiện vào mô-đun Thisworkbook.
Sổ làm việc phụ riêng tư_Open()
Trang tính("Trang tính1").Chọn
ActiveSheet.Range("A6").Chọn
frmCalendar.Show
Kết thúc phụ
Mã mới này sẽ không ảnh hưởng đến mã bạn hiện có.
Chúa
Trả lời:
Cảm ơn Gord. Thật không may khi tôi nhập mã mà bạn chỉ ra ở trên, mỗi lần tôi muốn nhập ngày, nó sẽ đưa tôi đến Ô A6 và sau đó tôi phải nhấp vào lịch bật lên hai lần.
Tôi nghĩ tôi sẽ giữ nguyên và người dùng sẽ chỉ cần nhấp vào Ô A7 rồi đến Ô A6 để lấy lịch bật lên. Cảm ơn.
Trả lời:
CHÀO,
Bạn đã đặt mã của Gord ở đâu? Hãy chắc chắn rằng nó có trong ThisWorkbook. Nó không nên can thiệp vào mã khác.
Bạn cũng có thể thử tắt các sự kiện, xem hướng dẫn in đậm. Bạn cũng có thể thực hiện việc này trong quy trình Workbook_Open.
Hãy đảm bảo rằng khi bạn tắt các sự kiện, bạn luôn bật lại nó trước khi thoát khỏi quy trình.
Bảng tính phụ riêng tư_SelectionChange(ByVal Target As Range)
Application.EnableEvents = Sai
Nếu không giao nhau(Range("A6:A1400"), Target) thì không có gì
frmCalendar.Show
Kết thúc nếu
Nếu không giao nhau(Range("O6:O1400"), Target) thì không có gì
frmCalendar.Show
Kết thúc nếu
Nếu không giao nhau(Range("P6:P1400"), Target) thì không có gì
frmCalendar.Show
Kết thúc nếu
Nếu không giao nhau(Phạm vi("Q6:Q1400"), Target) thì không có gì
frmCalendar.Show
Kết thúc nếu
Nếu không giao nhau(Range("S6:S1400"), Target) thì không có gì
frmCalendar.Show
Kết thúc nếu
Application.EnableEvents = Đúng
Kết thúc phụ
Bạn có thể tải sổ làm việc của mình lên OneDrive và đăng liên kết tại đây để chia sẻ với cộng đồng.
Trả lời:
Tôi nghĩ bạn đã đặt mã mới nhất của tôi sai vị trí như JP gợi ý.
Đặt nó trong mô-đun Thisworkbook , không phải trong mô-đun bảng tính.
Chúa
Trả lời:
Rất tiếc là tôi không có OneDrive nên không thể gửi tệp theo cách đó. Có cách nào khác mà tôi có thể làm được không?
Trả lời:
OneDrive rất dễ cài đặt và không mất phí.
Có nhiều lựa chọn thay thế cho OneDrive
DropBox chỉ là một trong số đó.
Chúa
Trả lời:
Rất tiếc, công ty chúng tôi không cho phép chúng tôi tải xuống các loại ứng dụng này do vấn đề riêng tư.
Trả lời:
CHÀO,
Nhìn vào hồ sơ của tôi...
Comments
Post a Comment