Tôi mới sử dụng VBA và tôi đang làm việc trên một mô-đun để đọc dữ liệu từ bảng tính và tính các giá trị dựa trên các ngày từ bảng tính. Tôi đọc trong các biến như là một chuỗi và sau đó hiện đang thay đổi các giá trị cho một ngày bằng cách sử dụng CDate. Tuy nhiên tôi chỉ chạy qua DateValue và tôi đã tự hỏi sự khác biệt giữa hai hàm là gì và cái nào là tốt nhất để sử dụng.Sự khác biệt giữa DateValue và CDate trong VBA
Trả lời
DateValue
sẽ trở lại chỉ ngày. CDate
sẽ gìn giữ ngày và thời gian:
? DateValue("2014-07-24 15:43:06")
24/07/2014
? CDate("2014-07-24 15:43:06")
24/07/2014 15:43:06
Tương tự, bạn có thể sử dụng TimeValue
trở lại chỉ có phần thời gian:
? TimeValue("2014-07-24 15:43:06")
15:43:06
? TimeValue("2014-07-24 15:43:06") > TimeSerial(12, 0, 0)
True
Ngoài ra, như guitarthrower nói, DateValue
(và TimeValue
) sẽ chỉ chấp nhận String
thông số , trong khi CDate
cũng có thể xử lý các số. Để mô phỏng các hàm này cho các loại số, hãy sử dụng CDate(Int(num))
và CDate(num - Int(num))
.
CDate
sẽ chuyển đổi một số hoặc văn bản thành một ngày.
CDate(41035) 'Converts to a date of 5/6/2012
CDate("1/15/2014") 'Converts to a date of 1/15/2014
DateValue
sẽ chỉ chuyển đổi ngày ở định dạng văn bản (chỉ) thành một ngày.
DateValue("1/15/2014") 'Converts to a date of 1/15/2014
DateValue(41035) 'Throws a mismatch error
Cả CDate và DateValue, khi được sử dụng trong VBA, chuyển đổi một giá trị cho một ngày (dd/mm/định dạng yyyy):
1)
LstrDate = "July 24, 2014"
LDate = CDate(LstrDate)
2)
LDate = DateValue("July 24, 2014")
Cả hai đều trả về cùng một kết quả.
Tuy nhiên DateValue trả về số sê-ri của một ngày nếu sử dụng trong mức ứng dụng (bảng tính)
- 1. Lỗi trong VBA DateValue() trong VBA Excel?
- 2. Sự khác biệt giữa mờ và được đặt trong vba
- 3. Sự khác biệt giữa: = và = trong Excel VBA
- 4. Sự khác biệt giữa Thisworkbook.name và Activeworkbook.name trong VBA
- 5. VBA: Sự khác nhau giữa & và +
- 6. Cách tìm sự khác biệt giữa các ngày trong VBA
- 7. Sự khác biệt giữa. và #
- 8. Sự khác biệt giữa $ (...) và `...`
- 9. Sự khác biệt giữa = và: =
- 10. Sự khác biệt giữa $ * và $ @
- 11. Sự khác biệt giữa ". +" Và ". +?"
- 12. Sự khác biệt giữa "**/* /" và "** /"?
- 13. Sự khác biệt giữa $ # và $ {# @}
- 14. Sự khác biệt giữa '.' và "." trong java
- 15. Sự khác biệt giữa. và: trong Lua
- 16. sự khác biệt giữa 'và "trong JavaScript?
- 17. Sự khác biệt giữa! và !! trong yaml?
- 18. Sự khác biệt giữa $ {} và $() trong Bash
- 19. Sự khác biệt giữa $ @ và $! trong perl
- 20. Sự khác biệt giữa ADO và DAO
- 21. Sự khác biệt giữa "kết thúc" và "thoát phụ" trong VBA là gì?
- 22. Sự khác biệt giữa sự khác biệt biểu tượng và sự khác biệt tự động?
- 23. Có sự khác biệt nào giữa vbNullString và "" không?
- 24. Sự khác biệt giữa org.apache.spark.ml.classification và org.apache.spark.mllib.classification
- 25. Sự khác biệt giữa SwingWorker và SwingUtilities.invokeLater
- 26. Sự khác biệt giữa sự khác biệt giữa nhiệm vụ jar và lắp ráp
- 27. Sự khác biệt giữa fgets và fscanf?
- 28. Sự khác biệt giữa self.navigationController.navigationItem và self.navigationItem
- 29. sự khác biệt giữa $ .getJSON và $ .get
- 30. Sự khác biệt giữa WebApiConfig.cs và RouteConfig.cs
không biết về chức năng bảng tính, sự khác biệt. Tốt để biết. – guitarthrower