Anzahl Tage von-bis mit VBA Berechnen
Schritt-für-Schritt-Anleitung
Um die Anzahl der Tage zwischen zwei Datumswerten mit VBA zu berechnen, kannst Du die folgenden Schritte befolgen:
-
Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
-
Wähle im Menü Einfügen die Option Modul, um ein neues Modul zu erstellen.
-
Füge den folgenden Code ein:
Sub BerechneTage()
Dim letzteZeile As Long
letzteZeile = Cells(Rows.Count, "A").End(xlUp).Row
Dim i As Long
For i = 1 To letzteZeile
If Cells(i, 1).Value > 0 Then
If IsEmpty(Cells(i, 2).Value) Then
Cells(i, 4).Value = " ! ! ! "
Else
Cells(i, 4).Value = Cells(i, 3).Value - Cells(i, 2).Value
End If
End If
Next i
End Sub
-
Schließe den VBA-Editor und gehe zurück zu Excel.
-
Führe das Makro BerechneTage über Entwicklertools > Makros aus.
Dieser Code überprüft jede Zeile in Spalte A. Wenn der Wert größer als 0 ist, wird die Differenz zwischen den Datumswerten in Spalte B und C berechnet und in Spalte D ausgegeben. Falls das Datum in Spalte B fehlt, wird ein Ausrufezeichen angezeigt.
Häufige Fehler und Lösungen
-
Fehler: "Typenübereinstimmung"
Lösung: Stelle sicher, dass die Zellen in Spalte B und C als Datumswerte formatiert sind.
-
Fehler: "Bereich außerhalb des gültigen Bereichs"
Lösung: Überprüfe, ob die letzte Zeile korrekt ermittelt wird. Der Code sollte die letzte Zeile in Spalte A finden.
Alternative Methoden
Wenn Du die Anzahl der Tage lieber ohne VBA berechnen möchtest, kannst Du auch eine Excel-Formel verwenden. Hier ist ein einfaches Beispiel für eine Formel, die Du in Zelle D1 eingeben kannst:
=WENN(A1>0;WENN(B1="";" ! ! ! ";C1-B1);"")
Diese Formel funktioniert ähnlich wie das VBA-Skript und gibt die Anzahl der Tage in Spalte D zurück.
Praktische Beispiele
Angenommen, Du hast die folgenden Daten:
| A |
B |
C |
D |
| 1 |
01.01.2020 |
10.01.2020 |
9 |
| 0 |
05.02.2020 |
15.02.2020 |
! ! ! |
| 1 |
|
20.02.2020 |
! ! ! |
In diesem Fall wird die Anzahl der Tage zwischen den Daten in Spalte B und C in Spalte D berechnet. Wenn Spalte B leer ist, wird ein "!" angezeigt.
Tipps für Profis
-
Verwende benannte Bereiche: Wenn Du oft mit ähnlichen Daten arbeitest, kannst Du benannte Bereiche für Deine Datumswerte erstellen, um die Lesbarkeit Deiner Formeln zu verbessern.
-
Automatisiere mit Ereignissen: Du kannst das VBA-Skript so anpassen, dass es automatisch ausgeführt wird, wenn Du Daten in das Tabellenblatt eingibst, indem Du es in die Worksheet_Change-Ereignisprozedur einfügst.
-
Kalendertage vs. Arbeitstage: Wenn Du nur die Arbeitstage zwischen zwei Daten berechnen möchtest, kannst Du die Funktion NETTOARBEITSTAGE verwenden.
FAQ: Häufige Fragen
1. Wie kann ich die Anzahl der Tage zwischen zwei Daten in Jahren umrechnen?
Du kannst die Anzahl der Tage durch 365 teilen, um die Jahre zu berechnen. Beispiel: =D1/365.
2. Wie kann ich das Datum in 50 Tagen berechnen?
Du kannst die Formel =HEUTE()+50 verwenden, um das Datum zu erhalten, das in 50 Tagen liegt.
3. Gibt es eine Möglichkeit, nur die Arbeitstage zwischen zwei Daten zu berechnen?
Ja, dafür kannst Du die Funktion NETTOARBEITSTAGE verwenden, um die Anzahl der Arbeitstage zwischen zwei Datumswerten zu berechnen.
4. Wie kann ich die Anzahl der Kalendertage zwischen zwei Daten berechnen?
Einfach die Formel =C1-B1 verwenden, um die Differenz der Datumswerte zu erhalten.