Moje doświadczenia z Excelem, Accesem i programowaniem w VBA

Wpisy z tagiem: Funkcje Daty i Czasu

środa, 10 października 2012

Funkcja Excela EOMONTH(Data_pocz;Miesiące) należy do Funkcji Daty i Czasu Excela. Zwraca wartość ostatniego dnia miesiąca liczonego o określoną liczbę miesięcy od wybranej daty.
Otrzymana wartosć jest datą.

Argumentami funkcji są

Data_pocz - argument typu Data. Wyznacza datę początkową, od której zaczynami odliczanie.
Miesiące - liczba mieięcy 
 

Jeżeli jako datę poczatkową przyjmiemy dzień dzisiejszy (czyli 10 października 2012) , a liczbę miesięcy 2 - to w tym przypadku funkcja zwróci nam wartość ostatniego dnia roku

 

funkcja Eomonth

Odpowiednio formatując komórki - widzimy, że Sylwester w tym roku przypada w poniedziałek. 

Odpowiednikiem funkcji w VBA jest funkcja arkuszowa Eomonth().  

 

 

 

 

 

czwartek, 20 września 2012

W różnego rodzaju obliczeniach Excela pojawia się czasem kwestia wyznaczenia (np. wstawienai do jakiejś tabeli) ostatniego dnia miesiąca. A z miesiacami wiadomo jakt to jest - jedne ma 30, inny 31 dni, jesst jeszcze luty ze swoimi 28 lub 29 dniami. Owszem, mamy to w głowie i z reguły każdy pamięta ile dni ma wrzesień, a ile grudzień. Jeśli jednak pracujemy w Excelu, zależy nam na jak największej automatyzacji. 

Jak wyznaczyć automatycznie ostatni dzień miesiąca? Wykorzystując w prosty sposób funkcję Excela Data() i zasadę, że ostatni dzień miesiąca jest jednocześnie zerowym dniem miesiąca następnego.

 

ostatni dzień miesiąca

Na widocznym na przykładzie powyżej rysunku. Formuła wpisana w komórkę A1 wskazuje "zerowy" dzień  miesiąca wpisanego w komórkę B1. Biorąc pod uwagę, ze w komórce B1 wpisany jest funkcja
=MIESIĄC(DZIŚ())
a więc też ulega aktulizacji - w komórce A1 mamy zawsze aktualną wartość odnoszącą sie do ostatniego dnia bieżącego miesiąca.

bieżący miesiąc
Oczywiście, chcąc mieć arkusz jak najbardziej aktualny - również rok nie powinien być ustawiony jako zmienna, a nie wpisany na sztywno. 
Korzystając z funkcji zagnieżdżonej - komórka A1 z funkcją:

=DATA(ROK(DZIŚ());MIESIĄC(DZIŚ())+1;0) 

będzie zawsze pokazywać ostatni dzień bieżącego miesiąca. Oczywiscie można go jeszcze odpowiednio sformatować - w zależności od potrzeb.

 

środa, 29 sierpnia 2012

Funkcja VBA Now() należy do funkcji Daty i Czasu. Wynikiem jej działania jest bieżąca data i godzina systemowa.
Funkcja ta jest funkcją nietrwałą tzn. jej wartośc jest zmienna.

Odpowiednikiem funkcji w Excelu jest funkcja Teraz()

 

 

 

poniedziałek, 27 sierpnia 2012

Funkcja Excela Teraz() zwraca wartość bieżącej daty i godziny. Jest funkcja nietrwałą tzn. jej wartość zmienia się właśnie w zależności od daty i godziny. Wstawiając do komórki funkcję =DZIŚ() - po każdym odświeżeniu zobaczymy tam inną wartość.

Odpowiednikiem funkcji w kodzie VBA jest funkcja Now().


poniedziałek, 20 sierpnia 2012

Funkcja Excela Dziś() zwraca wartość bieżącej daty. Jet funkcja nietrwałą tzn. jej wartość zmienia się właśnie w zależności od daty. Wstawiając do komórki funkcję =DZIŚ() - codziennie zobaczymy tam inną wartość.
Ja osobiście często wykorzystuję te funkcję do formatowania warunkowego danych tzn. wyróżniania wartości uzależnionych od bieżącej daty.

Odpowiednikiem funkcji w kodzie VBA jest funkcja Date().


czwartek, 19 lipca 2012

Funkcja VBA WeekDay(Date,FirstDayOfWeek) należy do funkcji Daty i Czasu. Wynikiem jej działania jest liczba odpowiadająca dniu tygodnia konkretnej daty.

Argumenty funkcji to:
Date - data w formacie liczbowym. Argument wymagany.
FirstDayOfWeek - argument opcjonalny. Liczba odzwierciedlająca przyjęty system liczenia dni, w zależności od tego - jaki dzień przyjmujemy jako pierwszy dzień tygodnia.  

- VbUseSystem  - odpowiada systemowym ustawieniom komputera
- VbSunday  - pierwszy 
dzień tygodnia to niedziela. Jest to ustawienie domyślne
- VbMonday pierwszy dzień tygodnia to poniedziałek
- VbTuesday pierwszy dzień tygodnia to wtorek
- VbWednesday pierwszy dzień tygodnia to środa
- VbThursday pierwszy dzień tygodnia to czwartek
6 - VbFriday pierwszy dzień tygodnia to piątek
- VbSaturday pierwszy dzień tygodnia to sobota

Odpowiednikiem funkcji w Excelu jest funkcja Dzień.Tyg() 

 

 

 

 

wtorek, 17 lipca 2012

Funkcja Excela DZIEŃ.TYG(Liczba_Kolejna,Zwracany_typ) należy do funkcji Daty i Czasu. Wynikiem jej działania jest liczba odpowiadająca dniu tygodnia konkretnej daty.

Argumenty funkcji to:
Liczba_Kolejna - data w formacie liczbowym. Argument wymagany.
Zwracany_typ - argument opcjonalny. Liczba odzwierciedlająca przyjęty system liczenia dni: 

1 -  od niedzieli (1) do soboty (7). Ustawienie defaultowe tj. brak wipsanej wartości domyślnie przyjmuje właśnie ten sposób liczenia. 
2 -  od poniedziałku (1) do niedzieli (7)
3 -  od poniedziałku (0) do niedzieli (6)

Otrzymana wartość jest więc liczbą naturalną pomiędzy 1 do 7 (lub 0 - 6).

Ja sama jestem przyzwyczajona do tego, że poniedziałek to pierwszy, czwartek - czwarty, a niedziela to siódmy dzień tygodnia. Zawsze więc stosuje zasadę, że jako Zwracany_typ wpisuję liczbę 2.
Odpowiednikiem funkcji w kodzie VA jest funkcja WeekDay().

 

 

 

 

 

czwartek, 05 lipca 2012

Funkcja VBA TimeSerial(Year,Month,Day) należy do grupy funkcji Daty i Czasu. Jest odpowiednikiem funkcji Excela Czas()  i działa identycznie jak ona.
Argumenty funkcji to: 
Hour - zmienna typu Integer. Określa godzinę wprowadzanego czasu. Wartość argumetu powinna się zawierać  w przedziale 0 - 23. Liczby większe niż 23 zostaną zmnijeszone o całkowitą wielokrotność liczby 24 czyli np. 55=2*48 + 7 - otrzymamy godzinę 7. Argumenty ujemne skutkują błędem.
Jeżeli jako argument zostanie użyta liczba ułamkowa - Excel zignoruje część po przecinku (nie zaokrągli).
Minute - zmienna typu Integer. Określa minutę wprowadzanego czasu
Second- zmienna typu Integer, określająca dzień miesiąca.

Zaróno argument Minute jak i Second powinny zawierać sie w przedziale od 0 do 59.Wpisanie liczby większej od 59 pokaże czas określony po odjęciu wielokrotności liczby 60, jednocześnie jednak zwiększy godzinę(minutę) o liczbę tych wielokrotności. Np. po wpisaniu Minute=77- pokaże 17 minut, ale w godzinie zwiększonej o 1 w stosunku do argumentu Godzina. Wartości ujemne - w analogiczny sposób zmniejszą wartość Godziny czy Minuty.

Prosty przykłąd zastosowania funkcji TimeSerial() w kodzie VBA do stworzenia własnej funkcji czasuwygląda tak:

Private Function MojCzas(Godzina As Integer, Minuta As Integer, Sekunda As Integer)
MojCzas = TimeSerial(Godzina, Minuta, Sekunda)
End Function

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

 

 


piątek, 29 czerwca 2012

Funkcja VBA DateSerial(Year,Month,Day) należy do grupy funkcji Daty i Czasu. Jest odpowiednikiem funkcji Excela Data() i działą identycznie jak ona.
Argumenty funkcji to:
Year - zmienna typu Integer. Określa rok wprowadzanej daty. W odróżnieniu jednak od Excelowego odpowiednika - rok liczy się tu od 2000 roku. Jeżeli zmienna przyjmie wartość zero - wartością funkcji będzie data odnosząca się do roku 2000. Wartości ujemne - będą odejmować rok czyli np. Year=-3 to data roku 1997. 
Month - zmienna typu Integer. Określa miesiąc wprowadzanej daty. Wartość zero wyznacza datę z grudnia poprzedneigo roku, wartości ujemne - "cofają" datę o odpowiednią liczbę miesięcy. Jeżeli argument jest większy niz 12 - funkcja dodaje odpowiednią ilość miesięcy pozostających po odjęciu wielokrotności liczby 12, jednocześnie jednak zwiększy rok daty o liczbę tych wielokrotności.
Day - zmienna typu Integer, określająca dzień miesiąca. Wpisanie daty większej od liczby dni danego miesiąca zwróci datę póniejszą o tyle dni, ile wynosi ta nadwyżka. Zero - wyznaczy datę ostatniego dnia poprzedniego miesiąca. Analogicznie liczby ujemne - odejmują dni. 

Wartością funkcji jest liczba typu Date.  

Prosty przykłąd zastosowania funkcji DateSerial() w kodzie VBA do stworzenia własnej funkcji daty wygląda tak:

Private  Function MojaData(Dzien As Integer, Miesiac As Integer, Rok As Integer) As Date
         MojaData = DateSerial(Rok, Miesiac, Dzien)
End Function 

. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

 

 


środa, 27 czerwca 2012

Funkcja Ecela DATA(Rok,Miesiąc,Dzień) jest funkcją tworzącą datę.
Argumentami funkcji są:
Rok - liczba naturalna określająca rok. Można wpisać go jako liczbę dwucyfrową, ale uwaga - liczy się od roku 1900. Wpisanie więc Rok=12- pokaże nam datę z 1912 roku. Jeżeli jako argument zostanie użyta liczba ułamkowa - Excel zignoruje część po przecinku (nie zaokrągli). 
Miesiąc - liczba naturalna od 1 do 12. Wpisanie liczby większej od 12 pokaże datę określoną po odjęciu wielokrotności liczby 12, jednocześnie jednak zwiększy rok daty o liczbę tych wielokrotnosc. Np. po wpisaniu Miesiąc=26 - pokaże luty, ale w roku zwiększonym o 2 w stosunku do argumentu Rok. Wartość zerowa argumentu - zwróci grudzień roku poprzedniego.
Dzień - liczba naturalna od 1 do 31 - odzwierciedla dzień. Wpisanie daty większej od liczby dni danego miesiąca zwróci datę póniejszą o tyle dni, ile wynosi ta nadwyżka. Zero - wyznaczy datę ostatniego dnia poprzedniego miesiąca.

Funkcja DATA() 

Funkcja przydatna w wielu obliczeniach, w których czas jest jednym z kluczowych elementów.

Odpowiednikiem funkcji Data() w VBA jest funkcja DateSerial().

 

 

 

 

| < Wrzesień 2017 > |
Pn Wt Śr Cz Pt So N
        1 2 3
4 5 6 7 8 9 10
11 12 13 14 15 16 17
18 19 20 21 22 23 24
25 26 27 28 29 30  


Książki warte polecenia
zobacz szczegóły...


A tu oferta na dziś:





ministat liczniki.org



Napisz do mnie!