hoangtuankhanh
Thành viên mới
![](/diendan/data/PhoToDanhHieu/gold.gif)
- Tham gia
- 18/3/08
- Bài viết
- 31
- Được thích
- 1
- Nghề nghiệp
- looking......
Là do code chứ không phải do định dạng.Các bác xem hộ em xem tại sao tại ô lưu ngày tháng của em khi muốn lưu thì bị nhảy tháng thành ngày và ngày thành tháng nếu đó là ngày từ 01=>10 còn từ 10 đổ ra thì lại ko bị thế nữa.
Range("NgayCtu1") & "/" & Range("ThangCtu1") & "/" & Range("NamCtu1")
Sheets("Tong hop PC").Cells(MyRow, 1) = Range("NgayCtu1") & "/" & Range("ThangCtu1") & "/" & Range("NamCtu1")
Sheets("Tong hop PC").Cells(MyRow, 1) = DateSerial([NamCtu1], [ThangCtu1], [NgayCtu1])
Là do code chứ không phải do định dạng.
Đoạn code này:
Sẽ tạo ra một chuỗi dạng AA/BB/CCCC. Vì VBA định dạng ngày tháng theo kiểu mm/dd/yyyy nên nếu AA <= 12 thì VBA sẽ hiểu chuỗi này là một ngày tháng, nếu AA > 12 thì VBA sẽ hiểu đây là một chuỗi.PHP:Range("NgayCtu1") & "/" & Range("ThangCtu1") & "/" & Range("NamCtu1")
Đây là cách khắc phục:
Thay dòng này:
Bằng dòng này:PHP:Sheets("Tong hop PC").Cells(MyRow, 1) = Range("NgayCtu1") & "/" & Range("ThangCtu1") & "/" & Range("NamCtu1")
PHP:Sheets("Tong hop PC").Cells(MyRow, 1) = DateSerial([NamCtu1], [ThangCtu1], [NgayCtu1])
Bạn đã thử chưa? Có chắc là làm như thế sẽ được không??Tôi nghĩ không cần vất vả thế đâu, chỉ cần vào Control Panel/Regional and Langugae Option\Regional Option\Customize\Date\Short Date format chọn định dạng dd\mm\yyyy là được thôi mà.
Tôi đã tìm hiểu trên diển đàn rồi mà không thông chút nào. Cám ơn bạn trước.= DateSerial([NamCtu1], [ThangCtu1], [NgayCtu1])
Hàm DateSerial() trong VBA giống với hàm Date() trong excel. Hai hàm này sẽ trả về giá trị là một ngày nào đó.Đến bạn huuthang_bd, bạn có thể hướng dẩn hoặc giải thích thêm về hàm này không?
Tôi đã tìm hiểu trên diển đàn rồi mà không thông chút nào. Cám ơn bạn trước.