Jestem nowy w VBA i pracuję nad modułem do odczytu danych z arkusza kalkulacyjnego i obliczam wartości na podstawie dat z arkusza kalkulacyjnego. Odczytuję zmienne jako łańcuch, a następnie zmieniam wartości na datę przy użyciu CDate. Jednak właśnie natknąłem się na DateValue i zastanawiałem się, jaka jest różnica między tymi dwiema funkcjami i która z nich jest lepsza do użycia.Różnica między DateValue i CDate w VBA
Odpowiedz
DateValue
powróci tylko datę. CDate
zachowa datę i czas:
? DateValue("2014-07-24 15:43:06")
24/07/2014
? CDate("2014-07-24 15:43:06")
24/07/2014 15:43:06
Podobnie można użyć TimeValue
wrócić tylko część czasu:
? TimeValue("2014-07-24 15:43:06")
15:43:06
? TimeValue("2014-07-24 15:43:06") > TimeSerial(12, 0, 0)
True
Ponadto, jak mówi guitarthrower, DateValue
(i TimeValue
) przyjmuje tylko String
parametry , podczas gdy CDate
może również obsługiwać liczby. Aby emulować te funkcje dla typów liczbowych, użyj CDate(Int(num))
i CDate(num - Int(num))
.
CDate
skonwertuje liczbę lub tekst na datę.
CDate(41035) 'Converts to a date of 5/6/2012
CDate("1/15/2014") 'Converts to a date of 1/15/2014
DateValue
skonwertuje datę w formacie tekstowym (tylko) na datę.
DateValue("1/15/2014") 'Converts to a date of 1/15/2014
DateValue(41035) 'Throws a mismatch error
Zarówno cdate i DateValue, stosowany w vba konwertuje wartość do Data (dd/mm/rrrr Format)
1)
LstrDate = "July 24, 2014"
LDate = CDate(LstrDate)
2)
LDate = DateValue("July 24, 2014")
Oba zwracają ten sam wynik.
Jednak DateValue zwraca numer seryjny daty, jeżeli są stosowane w poziomie aplikacji (kalkulacyjnym)
- 1. Różnica między Thisworkbook.name a Activeworkbook.name w VBA
- 2. Jak znaleźć różnicę między datami w VBA
- 3. Różnica między $ @ i $! w perl
- 4. Różnica między "i" w Lua
- 5. MySQL: Różnica między ",", "i"
- 6. Composer.phar różnica między | i ||
- 7. Różnica między | = i^= css
- 8. Różnica między "% ~ dp0" i ". \"?
- 9. Różnica między ". +" I ". +?"
- 10. Różnica między unwrapObservable i()
- 11. Różnica między "**/* /" i "** /"?
- 12. Różnica między (++ i) oraz (i ++)
- 13. Różnica kręgosłupa Różnica między CompositeView i CollectionView?
- 14. listy i tablice w VBA
- 15. Różnica między org.apache.spark.ml.classification i org.apache.spark.mllib.classification
- 16. Różnica między fgets i fscanf?
- 17. Różnica między PyMODINIT_FUNC i PyModule_Create
- 18. Różnica między ParameterInfo.DefaultValue i ParameterInfo.RawDefaultValue
- 19. Różnica między DatagramSocket i DatagramChannel
- 20. różnica między Html.BeginForm() i ajax.beginform()
- 21. Różnica między IE8 i EmulateIE8
- 22. różnica między com.sun.jna i net.java.dev.jna?
- 23. Różnica między $ .getScript() i $ .get()
- 24. różnica między -lgcc_s i gcc
- 25. Różnica między sw600dp i w600dp?
- 26. Różnica między addonGlobalLayoutListener i addOnPreDrawListener
- 27. Różnica między ManyToOneRel i ForeignKey?
- 28. Różnica między `focusable` i` clickable`
- 29. Jaka jest różnica między Arkuszami. Wybierz i Arkusze. Aktywuj?
- 30. Różnica między @Modelem i @modelem
nie wiedział o funkcji arkusza kalkulacyjnego, różnica. Dobrze wiedzieć. – guitarthrower