Detta exempel lär dig hur jämför datum och tider i Excel VBA . Datum och tider lagras som siffror i Excel och räknar antalet dagar sedan 0 januari 1900. Vad du ser beror på talformatet.
1. Ange några nummer i kolumn A.
2. Dessa siffror är datum. Detta är ett perfekt sätt att ange några datum utan att oroa dig för datumformatet. Ändra formatet till Datum (Högerklicka på kolumn A -rubriken, Formatera celler och välj Datum).
Resultat:
Obs! Datum är i amerikanskt format. Månader först, dagar andra. Denna typ av format beror på dina regionala inställningar för Windows.
Placera en kommandoknapp på ditt kalkylblad och lägg till följande kodrader:
hur man filtrerar dubbletter i Excel
3. Deklarera variabeln i av typen Heltal.
IngeniSomHeltal4. Lägg till en For Next -slinga.
Föri = 1 till 5Nästai
5. Datumfunktionen returnerar det aktuella datumet utan tiden. Lägg till följande kodrad i slingan för att markera alla celler som innehåller det aktuella datumet (13.3.2020).
OmCeller (i, 1) .Värde = DatumSedanCeller (i, 1). Font.Color = vbRedResultat:
6. Lägg till följande kodrad i öglan för att markera alla datum tidigare än 2019-04-04.
OmCeller (i, 1). VärdeResultat:
hur man lägger till ett intervall i Excel
7. Men hur är det med tiderna, vi hör dig säga. De är decimalerna. Byt tillbaka till Allmänt format och ändra siffrorna till decimaltal.
8. Ändra nu formatet till formatet 'Datum och tid'.
Resultat:
9. Om du vill markera alla celler som innehåller det aktuella datumet kan vi inte använda kodraden vid 5 längre. Varför inte? Eftersom siffrorna i kolumn A är decimaltal nu. Att jämföra det med datum (ett helt tal) skulle inte ge någon matchning. (Det skulle bara ge en match med 13/03/2020 vid midnatt exakt!) Följande kodrad fungerar:
OmInt (Cells (i, 1) .Value) = DatumSedanCeller (i, 1). Font.Color = vbRedFörklaring: vi använder helt enkelt Int -funktionen. Int -funktionen avrundar ett tal till närmaste heltal. På så sätt kan vi få datum utan tider och jämföra dessa datum med Datum.
Resultat:
10. Lägg till följande kodrad för att markera alla celler som innehåller tider på morgonen.
Om(Celler (i, 1). Värde - Int (Celler (i, 1). Värde))<0.5 SedanCeller (i, 1). Font.Color = vbRedFörklaring: vi behöver bara decimaler så därför subtraherar vi heltalet. Middag (halvvägs genom dagen) representeras som 0,5. Decimaler lägre än 0,5 är tiderna på morgonen.
Resultat:
hur man använder normal distribution i Excel
Gå till nästa kapitel: evenemang