Zeilen mit bestimmten Datum in Excel kopieren
Schritt-für-Schritt-Anleitung
Um Zeilen mit einem bestimmten Datum in Excel zu kopieren, kannst Du VBA verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:
-
Öffne Excel und drücke ALT
+ F11
, um den VBA-Editor zu öffnen.
-
Füge ein neues Modul hinzu:
- Klicke auf
Einfügen
> Modul
.
-
Kopiere den folgenden VBA-Code in das Modul:
Sub DatumKopieren()
Dim TB1 As Worksheet, TB2 As Worksheet
Dim LR1 As Long, Monat As Integer, Jahr As Integer
Set TB1 = Sheets("owssvr")
Set TB2 = Sheets("Tabelle2")
Monat = InputBox("Welcher Monat? (01-12)")
Jahr = InputBox("Welches Jahr?")
If Monat < 1 Or Monat > 12 Then
MsgBox "Bitte einen gültigen Monat eingeben."
Exit Sub
End If
LR1 = TB1.Cells(TB1.Rows.Count, 1).End(xlUp).Row
For i = 2 To LR1
If Month(TB1.Cells(i, 1).Value) = Monat And Year(TB1.Cells(i, 1).Value) = Jahr Then
TB2.Cells(i, 1).Value = TB1.Cells(i, 1).Value
TB2.Cells(i, 2).Value = TB1.Cells(i, 2).Value
TB2.Cells(i, 3).Value = TB1.Cells(i, 4).Value
End If
Next i
End Sub
-
Schließe den VBA-Editor und kehre zu Excel zurück.
-
Führe das Makro aus:
- Drücke
ALT
+ F8
, wähle DatumKopieren
und klicke auf Ausführen
.
Häufige Fehler und Lösungen
-
Fehler: "Nur Monate 01 - 12 zugelassen!"
- Lösung: Stelle sicher, dass der eingegebene Monat zwischen 1 und 12 liegt.
-
Falsches Jahr wird kopiert
- Lösung: Überprüfe, dass die Zellen in Spalte A das richtige Datumsformat haben.
-
Excel Datum kopieren nicht fortlaufend
- Lösung: Achte darauf, dass Du die korrekten Zellen in den Zielbereich kopierst, insbesondere wenn Du bereits gefilterte Daten hast.
Alternative Methoden
Wenn Du keine VBA-Lösung verwenden möchtest, kannst Du auch folgende Alternativen ausprobieren:
-
Filterfunktion:
- Wähle die Daten in Deinem Arbeitsblatt.
- Gehe zu
Daten
> Filtern
.
- Filtere die Datumswerte nach dem gewünschten Monat und Jahr und kopiere die gefilterten Zeilen manuell in die Ziel-Tabelle.
-
Formeln:
- Nutze die
WENN
-Funktion, um die gewünschten Zeilen in einer neuen Tabelle anzuzeigen. Beispiel:
=WENN(MONAT(A2)=Monat;WENN(JAHR(A2)=Jahr;A2;"");"")
Praktische Beispiele
Angenommen, Du hast folgende Daten in owssvr
:
Datum |
Wert |
|
Text |
01.02.2016 |
24 |
|
Txt_01 |
02.02.2016 |
25 |
|
Txt_02 |
03.02.2016 |
26 |
|
Txt_03 |
Wenn Du den Monat Februar 2016 kopieren möchtest, wird nur die Zeile mit dem Datum 01.02.2016 und 02.02.2016 in Tabelle2
übertragen.
Tipps für Profis
- Verwende Dropdown-Listen für die Monat- und Jahreingabe, um die Benutzerfreundlichkeit zu erhöhen.
- Optimiere Dein VBA-Skript: Vermeide redundante Berechnungen durch Variablen und benutze
With
-Anweisungen, um den Code lesbarer zu machen.
- Verwende Named Ranges, um die Wartung und Lesbarkeit Deiner Formeln zu verbessern.
FAQ: Häufige Fragen
1. Wie kann ich sicherstellen, dass Excel das richtige Datum kopiert?
Um sicherzustellen, dass Excel das richtige Datum kopiert, achte darauf, dass die Zellen im Datumsformat formatiert sind und die Eingaben im Skript korrekt validiert werden.
2. Was tun, wenn ich Daten für ein falsches Jahr kopiere?
Überprüfe die Eingabewerte für Monat und Jahr in der InputBox sowie das Datumsformat der Zellen in der Quelltabelle.
3. Gibt es eine einfache Möglichkeit, Daten ohne VBA zu kopieren?
Ja, Du kannst die Filter- und Kopierfunktion von Excel verwenden, um gefilterte Daten manuell zu übertragen.
4. Kann ich mehrere Monate auf einmal kopieren?
Das VBA-Skript ist so konzipiert, dass es nur für einen Monat und ein Jahr funktioniert. Du müsstest es anpassen, um mehrere Monate gleichzeitig zu bearbeiten.