ID tematu: 74834
 |
Zmagania z datami |
Autor |
Wiadomość |
sp3wbe
Stały bywalec Excelforum

Wersja: Win Office 2016
Pomógł: 83 razy Posty: 386
|
Wysłany: 23-07-2023, 07:21 Zmagania z datami
|
|
|
Witam
W załączonym arkuszu w komórkach "B11:B13" umieszczone są formuły dzielące przedział czasowy na lata miesiące i dni. Próbuję napisać makro które ma obliczyć te wartości i wpisać je do komórek "D11:D13". Fragment kodu
Kod: | Lata = DateDiff("yyyy", datap, datak) |
w załączonym przedziale czasowym wylicza 3 lata a powinny być 2. Jeżeli zmienię datę początkową na mniejszą od miesięcy daty końcowej to wynik jest prawidłowy.
Co z tym fantem zrobić?
Może znacie inne rozwiązanie. Jest przecież mało prawdopodobne by VBA z tym problemem sobie nie poradził.
Pozdrawiam
zmagania z datami.xlsm
|
Pobierz Plik ściągnięto 63 raz(y) 18.21 KB |
|
_________________ Tadek |
|
 | ID posta:
429104
|
|
|
 |
|
|
|
wczesny
Stały bywalec Excelforum

Wersja: Win Office 2016
Pomógł: 48 razy Posty: 383
|
Wysłany: 23-07-2023, 17:34
|
|
|
pomiędzy datami z arkusza jest ~3,2 roku. Nie rozumiem problemu?
07.02.2020 15.05.2023 |
|
 | ID posta:
429108
|
|
|
 |
|
|
Maciej Gonet
Excel Expert

Wersja: Win Office 365
Pomógł: 3568 razy Posty: 10515
|
Wysłany: 23-07-2023, 19:37
|
|
|
Funkcja DateDiff nie jest przewidziana do zwracania wyniku narastająco. Zwraca tylko jedną wartość ignorując jednostki czasu mniejszego kalibru. To znaczy jak chcemy wynik w latach, to traktuje obie daty jakby były 1.01. Jak chcemy wynik w miesiącach, to traktuje obie daty jakby były z pierwszych dni tych miesięcy itd.
Do Twojego pliku wstawiłem Ci funkcję YearsMonthsDays znalezioną w sieci (na Stack Overflow), którą możesz sobie dopasować - jest w wersji angielskiej i zwraca jeden wynik tekstowy zamiast 3 liczb jak u Ciebie. Mam nadzieję, że nie będziesz miał z tym problemu.
zmagania z datami.xlsm
|
Pobierz Plik ściągnięto 59 raz(y) 19.72 KB |
|
|
 | ID posta:
429111
|
|
|
 |
|
|
sp3wbe
Stały bywalec Excelforum

Wersja: Win Office 2016
Pomógł: 83 razy Posty: 386
|
Wysłany: 24-07-2023, 10:27
|
|
|
Panie Macieju
Bardzo dziękuję za podanie na tacy rozwiązania.
Punkt oczywiście dodany
wczesny
Myślę, że propozycja Pana Macieja pozwoli na zrozumienie problemu.
Serdecznie pozdrawiam obu Panów. |
_________________ Tadek |
|
 | ID posta:
429134
|
|
|
 |
|
|
|
Nie możesz pisać nowych tematów Nie możesz odpowiadać w tematach Nie możesz zmieniać swoich postów Nie możesz usuwać swoich postów Nie możesz głosować w ankietach Nie możesz załączać plików na tym forum Możesz ściągać załączniki na tym forum
|
Dodaj temat do Ulubionych Wersja do druku
|
|
Strona uĹźywa plikĂłw cookies.
Kliknij tutaj, Ĺźeby dowiedzieÄ siÄ jaki jest cel uĹźywania cookies oraz jak zmieniÄ ustawienia cookie w przeglďż˝darce.
KorzystajÄ
c ze strony uĹźytkownik wyraĹźa zgodÄ na uĹźywanie plikĂłw cookies, zgodnie z bieĹźÄ
cymi ustawieniami przeglÄ
darki.
SprawdĹş, w jaki sposĂłb przetwarzamy dane osobowe
|