Mã VBA cho Lịch bật lên trong Excel

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ố đó.

https://www.dropbox.com/

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

Popular posts from this blog

Excel 2016 - mở tất cả các tệp trong MỘT phiên bản

Điều tôi muốn làm trong Excel 2010 là tạo một nút tùy chỉnh và gắn nó vào thanh công cụ Truy nhập nhanh và chạy một macro cụ thể.

Khẩn cấp - File Excel chứa các ký tự đặc biệt ở họ và tên liên hệ