Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.06.2025 22:11:12
24.06.2025 21:29:43
24.06.2025 19:48:50
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: VBA Datum suchen und dort in Spalte Wert einfügen

VBA Datum suchen und dort in Spalte Wert einfügen
05.12.2017 14:44:59
Lisa
Liebes VBA Team, ich hoffe Ihr könnt mir helfen!
Ich habe zwei Dateien, Datei A und Datei B
Datei A:
E2: Datum
E3: bestimmter Wert, der in andere Datei B eingefügt werden soll
Datei B
Zeile 5: Viele Verschiedene Datums-Angaben
Zeile 6: Wert aus E3 soll eingefügt werden, in bestimmte Spalte
Ich hätte jetzt gerne, dass das Makro den Wert aus Datei A, E2 in der Datei B, Zeile 5 sucht.
Wenn der Wert z. B. in G5 gefunden wird, dann soll in G6 (Datei B)der Wert aus E3 (Datei A)eingetragen werden.
Geht sowas? Ich habe nämlich bisher ein Makro gehabt, dass immer den Wert in die nächste freie Zelle eingetragen hat. Ist allerdings nicht meine optimale Lösung. Würde mich über Rückmeldung freuen!!!!
Ich hoffe, Ihr könnt mir helfen.
Viele Grüße :)
Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Datum suchen in Spalte Wert einfügen
05.12.2017 16:09:13
Bernd
Servus Lisa,
z.B. so?

Sub Uebertrag()
Dim wbQ As Workbook
Dim wbZ As Workbook
Dim strZPfad As String
Dim Datum As Date
Dim Wert
Dim intLSZ As Integer
Dim rngSuche As Range
Dim intHit As Integer
strZPfad = "C:\test\Ziel.xlsx" ' Dateipfad der Zieldatei
Set wbQ = ThisWorkbook
Datum = wbQ.Sheets(1).Cells(2, 5).Value
Wert = wbQ.Sheets(1).Cells(3, 5).Value
Set wbZ = Workbooks.Open(strZPfad)
With wbZ.Sheets(1)
intLSZ = .Cells(5, Columns.Count).End(xlToLeft).Column
Set rngSuche = .Range(.Cells(5, 1), .Cells(5, intLSZ))
intHit = .Range(rngSuche.Address).Find(what:=Datum, LookIn:=xlValues, lookat:=xlWhole). _
Column
.Cells(6, intHit).Value = Wert
End With
wbZ.Close True
Set wbZ = Nothing
Set wbQ = Nothing
End Sub
Grüße, Bernd
Anzeige

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

VBA: Datum suchen und Wert einfügen in Excel


Schritt-für-Schritt-Anleitung

Um in Excel mit VBA ein Datum zu suchen und einen Wert in eine bestimmte Spalte einzufügen, kannst du folgende Schritte ausführen:

  1. Öffne die Excel-Datei mit dem gewünschten VBA-Skript.

  2. Drücke ALT + F11, um den VBA-Editor zu öffnen.

  3. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf „VBAProject (deineDatei.xlsx)“ > Einfügen > Modul.

  4. Kopiere den folgenden Code in das Modul:

    Sub Uebertrag()
        Dim wbQ As Workbook
        Dim wbZ As Workbook
        Dim strZPfad As String
        Dim Datum As Date
        Dim Wert
        Dim intLSZ As Integer
        Dim rngSuche As Range
        Dim intHit As Integer
    
        strZPfad = "C:\test\Ziel.xlsx" ' Dateipfad der Zieldatei
        Set wbQ = ThisWorkbook
        Datum = wbQ.Sheets(1).Cells(2, 5).Value
        Wert = wbQ.Sheets(1).Cells(3, 5).Value
        Set wbZ = Workbooks.Open(strZPfad)
    
        With wbZ.Sheets(1)
            intLSZ = .Cells(5, Columns.Count).End(xlToLeft).Column
            Set rngSuche = .Range(.Cells(5, 1), .Cells(5, intLSZ))
            intHit = .Range(rngSuche.Address).Find(what:=Datum, LookIn:=xlValues, lookat:=xlWhole).Column
            .Cells(6, intHit).Value = Wert
        End With
    
        wbZ.Close True
        Set wbZ = Nothing
        Set wbQ = Nothing
    End Sub
  5. Ändere den Dateipfad in strZPfad, um auf deine Zieldatei zu verweisen.

  6. Schließe den VBA-Editor und gehe zurück zu Excel.

  7. Führe das Makro aus: Drücke ALT + F8, wähle „Uebertrag“ und klicke auf „Ausführen“.


Häufige Fehler und Lösungen

  • Fehler: „Zieldatei nicht gefunden“

    • Lösung: Überprüfe den Dateipfad in strZPfad und stelle sicher, dass die Datei existiert.
  • Fehler: „Kein Wert gefunden“

    • Lösung: Achte darauf, dass das Datum im richtigen Format vorliegt und tatsächlich in der Zielspalte existiert.
  • Fehler: „Typ-Mismatch“

    • Lösung: Stelle sicher, dass die Zellen, die du verwendest, die richtigen Datentypen (z.B. Datum) enthalten.

Alternative Methoden

Eine alternative Methode besteht darin, die VLOOKUP-Funktion zu verwenden, um Werte zu suchen und einzufügen. Dies kann ohne VBA erfolgen, ist jedoch weniger flexibel:

  • VLOOKUP Syntax:

    =VLOOKUP(E2, B5:B50, 2, FALSE)

Diese Formel sucht nach dem Datum in E2 innerhalb des Bereichs B5:B50 und gibt den entsprechenden Wert zurück.


Praktische Beispiele

  • Beispiel 1: Wenn du das Datum „01.01.2023“ in Zelle E2 hast und den Wert „100“ in Zelle E3, wird der Wert nur dann in die entsprechende Zelle in Datei B eingefügt, wenn das Datum in Spalte G in Zeile 5 vorhanden ist.

  • Beispiel 2: Wenn dein Datum in Zelle E2 auf „15.03.2023“ gesetzt ist und das Makro ausgeführt wird, wird „100“ in die Zelle G6 eingefügt, wenn „15.03.2023“ in G5 gefunden wird.


Tipps für Profis

  • Verwende Fehlerbehandlung in deinem VBA-Code, um unerwartete Fehler elegant zu handhaben. Beispiel:

    On Error Resume Next
    intHit = .Range(rngSuche.Address).Find(what:=Datum, LookIn:=xlValues, lookat:=xlWhole).Column
    If intHit = 0 Then
        MsgBox "Datum nicht gefunden!"
    End If
    On Error GoTo 0
  • Dokumentiere deinen Code gründlich, um die Nachvollziehbarkeit zu gewährleisten.


FAQ: Häufige Fragen

1. Wie kann ich das Makro automatisch ausführen lassen? Du kannst das Makro beim Öffnen der Datei ausführen, indem du den Code in das Workbook_Open-Ereignis einfügst.

2. Was mache ich, wenn ich mehrere Werte in einer Zeile suchen möchte? Du kannst eine Schleife verwenden, um durch die Zeile zu iterieren und die Werte einzufügen, wenn sie gefunden werden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige