Tạo macro trong Excel 2007 để điền dữ liệu vào các ô dựa trên dữ liệu từ menu thả xuống.

Tạo macro trong Excel 2007 để điền dữ liệu vào các ô dựa trên dữ liệu từ menu thả xuống.

Tôi có một bảng tính chứa nhiều danh sách thả xuống. Bảng tính này được sử dụng để báo cáo trạng thái và ngày hoàn thành của một số công việc nhất định. Điều tôi muốn làm là cho phép cột Trạng thái hiện tại tự động cập nhật khi một số cột khác được điền dữ liệu. Ví dụ, tôi có cột Sẵn sàng tính thuế là danh sách thả xuống Có/Không. Khi ai đó chọn "Có" trong cột Tính thuế, tôi muốn cột Trạng thái hiện tại hiển thị "Đã tính thuế". Tôi cũng có các cột khác được điền dữ liệu theo ngày tháng, và khi dữ liệu được điền vào, tôi muốn cột Trạng thái hiện tại thay đổi một lần nữa. Ví dụ, khi một ô trong cột Đã gửi cho quản trị viên được điền dữ liệu, tôi muốn cột Trạng thái hiện tại hiển thị "Đã xem xét của quản trị viên".

Tôi biết điều này là khả thi, nhưng tôi đã không còn nhớ rõ cách làm VBA nữa nên nghĩ rằng hỏi ý kiến ​​cộng đồng ở đây sẽ nhanh hơn. Cảm ơn!




Trả lời:

Theo tôi, việc này có thể được thực hiện đơn giản bằng cách sử dụng hàm =IF().

Hi vọng điều này sẽ hữu ích.

Doug Robbins - Chuyên gia xuất sắc về ngôn từ,
dkr[atsymbol]mvps[dot]org
Được đăng tải qua Community Bridge

"Bistro782" đã viết trong tin nhắn news:*** Địa chỉ email đã bị xóa vì lý do bảo mật ***...

Tôi có một bảng tính chứa nhiều danh sách thả xuống. Bảng tính này được sử dụng để báo cáo trạng thái và ngày hoàn thành của một số công việc nhất định. Điều tôi muốn làm là cho phép cột Trạng thái hiện tại tự động cập nhật khi một số cột khác được điền dữ liệu. Ví dụ, tôi có cột Sẵn sàng tính thuế là danh sách thả xuống Có/Không. Khi ai đó chọn "Có" trong cột Tính thuế, tôi muốn cột Trạng thái hiện tại hiển thị "Đã tính thuế". Tôi cũng có các cột khác được điền dữ liệu theo ngày tháng, và khi dữ liệu được điền vào, tôi muốn cột Trạng thái hiện tại thay đổi một lần nữa. Ví dụ, khi một ô trong cột Đã gửi cho quản trị viên được điền dữ liệu, tôi muốn cột Trạng thái hiện tại hiển thị "Đã xem xét của quản trị viên".

Tôi biết điều này là khả thi, nhưng tôi đã không còn nhớ rõ cách làm VBA nữa nên nghĩ rằng hỏi ý kiến ​​cộng đồng ở đây sẽ nhanh hơn. Cảm ơn!


Doug Robbins - Chuyên gia xuất sắc về Word (dkr[atsymbol]mvps[dot]org)

Trả lời:

Theo tôi, việc này có thể được thực hiện đơn giản bằng cách sử dụng hàm =IF().

Hi vọng điều này sẽ hữu ích.

Doug Robbins - Chuyên gia xuất sắc về ngôn từ,
dkr[atsymbol]mvps[dot]org
Được đăng tải qua Community Bridge

Doug Robbins - Chuyên gia xuất sắc về Word (dkr[atsymbol]mvps[dot]org)
Nếu chỉ muốn ô đó thay đổi một lần thì có thể giải quyết bằng hàm IF. Tôi có nhiều ô trong cùng một hàng, khi được điền dữ liệu (có/không hoặc ngày tháng) sẽ làm cho ô Trạng thái hiện tại thay đổi để phản ánh tiến trình của dự án. Ví dụ trên, ai đó đã điền "Có" vào ô "Thuế tích lũy"; dự án đã chuyển sang giai đoạn chuẩn bị báo cáo. Trong cùng hàng đó, tôi có một khoảng trống để nhập tên người lập báo cáo. Khi ô "Người lập báo cáo" được điền văn bản, tôi muốn ô Trạng thái hiện tại thay đổi từ "Thuế tích lũy" thành "Đã giao". Tôi không thể lồng các câu lệnh IF, vì nếu tôi sử dụng ô "Thuế tích lũy" làm giá trị logic thực, nó sẽ không cập nhật. Vì vậy, về cơ bản, tôi cần một số câu lệnh IF độc lập trong cùng một ô. Điều đó có khả thi không? Đó là lý do tại sao tôi nghĩ rằng cần phải thực hiện bằng mã lập trình. Cảm ơn!


Trả lời:

Cách này rất dễ thực hiện với câu lệnh if lồng nhau, bạn chỉ cần bắt đầu từ điều kiện cuối cùng và làm ngược lại. Nếu bạn vẫn còn hứng thú, hãy viết thư lại và tôi sẽ hướng dẫn bạn cách làm.

Comments

Popular posts from this blog

Đ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ể.

Mở tài liệu Excel và Word từ Outlook Lỗi - Không đủ bộ nhớ

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