- Tham gia
- 5/6/08
- Bài viết
- 30,703
- Được thích
- 53,952
Trước tiên xin nói rõ, máy tính của tôi đang định dạng DATE trong Regional Language Options là dd/mm/yyyy
Tôi vẽ 1 Calendar lên bảng tính và tiến hành làm cuộc thí nghiệm sau với đoạn code sau:
Tức là:
- Mổi lần click vào Calendar thì sẽ chèn giá trị của nó vào cell A1
- Đồng thời chèn luôn giá trị Calendar vào Name DateVal (đương nhiên name này đang tồn tại)
- Cell B1 nhận giá trị từ name DateVal
Nhận xét:
- Giá trị tại Cell A1 và B1 khác nhau xa lắc.... Ví dụ khi tôi click vào ngày 1 tháng 5 năm 2009 thì cell A1 hiển thị 01/05/2009 còn B1 thì hiển thị 05/01/2009 (đượng nhiên 2 cell này được Format Custom là dd/mm/yyyy)
- Có cảm giác như sau khi đưa giá trị vào name thì ngày và tháng bị "đảo lộn" với nhau vậy
- Nếu thay đổi định dạng trong Regional Language Options theo kiểu Mỹ (mm/dd/yyyy) thì tất cả đều đúng
Xin hỏi:
- Tại sao lại có sai số này? Và cách khắc phục?
Tôi vẽ 1 Calendar lên bảng tính và tiến hành làm cuộc thí nghiệm sau với đoạn code sau:
PHP:
Private Sub Calendar1_Click()
[A1] = Calendar1.Value
ThisWorkbook.Names("DateVal").Value = Calendar1.Value
[B1] = Evaluate("DateVal")
End Sub
- Mổi lần click vào Calendar thì sẽ chèn giá trị của nó vào cell A1
- Đồng thời chèn luôn giá trị Calendar vào Name DateVal (đương nhiên name này đang tồn tại)
- Cell B1 nhận giá trị từ name DateVal
Nhận xét:
- Giá trị tại Cell A1 và B1 khác nhau xa lắc.... Ví dụ khi tôi click vào ngày 1 tháng 5 năm 2009 thì cell A1 hiển thị 01/05/2009 còn B1 thì hiển thị 05/01/2009 (đượng nhiên 2 cell này được Format Custom là dd/mm/yyyy)
- Có cảm giác như sau khi đưa giá trị vào name thì ngày và tháng bị "đảo lộn" với nhau vậy
- Nếu thay đổi định dạng trong Regional Language Options theo kiểu Mỹ (mm/dd/yyyy) thì tất cả đều đúng
Xin hỏi:
- Tại sao lại có sai số này? Và cách khắc phục?