Tối ưu và đơn giản hóa hoạt động đào tạo tại doanh nghiệp. Sẵn sàng nền tảng, nội dung đào tạo cho tất cả các vị trí, bộ phận. Ứng dụng MIỄN PHÍ ngay vào doanh nghiệp chỉ với MỘT click.
làm cách nào để chuyển đổi giá trị cho 1 combobox ạ?vd clng(comboboxvalue)
chào thầy, làm cách nào để chuyển đổi giá trị cho 1 combobox ạ? vd: clng(combobox.value) em làm thế này thì bị lỗi em cần chuyển đổi để thực hiện hàm logic với date ạ
Em đã xem lại bài giảng nhưng không thấy phần cần tìm ở đâu ạ, mong thầy hỗ trợ
vỗ tay
Đỗ Anh Ngọc20:05 - May 20, 2020
Sự kiện Textbox_Change (hoặc Combobox_Change) giúp thay đổi cách hiển thị của dữ liệu sau khi bạn nhập vào textbox. Mình không rõ ý của bạn là gì. Nếu như muốn đưa dữ liệu từ textbox vào 1 ô trong Sheet dưới dạng dữ liệu Date thì bạn làm như sau: Sheet1.Range("A1").Value = Clng(Combobox1.Value) Tại ô A1 bạn format cell về dạng dd/mm/yyyy là được. Nếu bạn gặp lỗi thì vui lòng nêu rõ code của bạn viết để mình kiểm tra cho.
vỗ tay
Đỗ Anh Ngọc20:05 - May 20, 2020
Dạ không ạ, em muốn so sánh với giá trị trong 1 ô, nếu giá trị NGÀY trong combobox = giá trị .range("A1") thì... E để 2 cái value = nhau theo thông thường thì lệnh ko đúng VD: cb_ngay.value = sheet1.range("A1").value Làm như này thì kết quả cho ra không bằng nhau, còn thêm vào clng(cb_ngay.value) thì bị lỗi "mismatch"
vỗ tay
Đỗ Anh Ngọc00:05 - May 21, 2020
Bạn có thể nói rõ tình huống (hoặc gửi kèm file) được không, vì ở đây mình nghĩ vấn đề nằm ở việc so sánh giá trị trong combobox với giá trị 1 ô nhưng lại là so sánh giá trị ngày. Giá trị ngày là 1 giá trị nhạy cảm, dễ nhầm lẫn nhất trong các loại giá trị. Khi làm trên VBA hạn chế so sánh theo giá trị ngày. Thường chỉ so ngày trong 2 ô với nhau, hoặc trên cùng đối tượng textbox với nhau. Cả việc bạn đặt cấu trúc so sánh tại ví trí nào trong macro cũng có thể gây ra lỗi. Vậy nên cần xem cụ thể toàn bộ nội dung bạn đang làm mới đánh giá được lỗi do đâu.
vỗ tay
Đỗ Anh Ngọc00:05 - May 21, 2020
Tình huống phân công trực theo ngày, mỗi ngày 3 ca làm việc, nhập liệu bằng useform, dữ liệu ngày và tên từ combobox được lấy từ sheet có sẵn, yêu cầu khi bấm chọn ngày, ca làm, tên, dữ liệu sẽ được tự động điền vào ô trống tương ứng Sau khi tìm hiểu trên mạng em đã thêm vào công thức: Clng(Val(cb_ngay.value))=Clng(Val(sheet1.range("A1").value)) thì thành công nhưng vẫn chưa hiểu nguyên lí thê nào
Bản chất ở đây là kiểm tra dữ liệu có giống nhau không. Giống nhau gồm 2 vấn đề: - Hình thức thể hiện: cái mà bạn nhìn thấy bằng mắt thường - Kiểu dữ liệu: là cái mà excel, vba hiểu và hoạt động trên nguyên tắc này. Khi nhập trên userform, dữ liệu thường ở dạng text. Khi nhập ngày trên excel, dữ liệu là dạng Number. Do đó không có sự tương đồng giữa 2 kiểu dữ liệu này, dù có thể nhìn giống nhau về cách viết. Khi dùng lệnh chuyển đổi Clng(...) thì sẽ đưa 2 dữ liệu này về cùng 1 kiểu là Number nên so sánh với nhau được.