Hallo zusammen. Ich habe folgendes Problem. In einer Excel-Datei (ThisWorkbook) habe ich die Tage vom 1.-letzten Tag eines Monats in Reihe 4 stehen. Ein Datum pro Spalte, beginnend in Spalte B. Darunter sollen jeweils Werte aus einer anderen Excel Datei (wbk360) eingetragen werden - mit Hilfe von VBA. In dieser zweiten Datei stehen die Tage untereinander in Spalte A. Ich benutze Worksheetfunction.Match, um die richtige Zeile in der zweiten Datei zu finden, bevor ich von dort Zahlen in meine erste Datei übertragen lasse.

Das hier ist der Teil des VBA Codes, der nicht funktioniert:

    For idatecol = 2 To 21
    On Error Resume Next
    idaterow = WorksheetFunction.Match(ThisWorkbook.ActiveSheet.Cells(4, idatecol).Value, wbk360.ActiveSheet.Range("A:A"), 0)
    
    ThisWorkbook.ActiveSheet.Cells(5, idatecol).Value = wbk360.ActiveSheet.Cells(idaterow, iOccHeader).Value
    ThisWorkbook.ActiveSheet.Cells(6, idatecol).Value = wbk360.ActiveSheet.Cells(idaterow, iIndexHeader).Value
Next idatecol

idaterow sollte mir die Zeile in Datei 2 nennen, in der das Datum steht, das ich gerade in Datei 1 bearbeiten möchte. Wenn ich aber mit F8 Zeile für Zeile durch den Code gehe, bleibt der Wert für idaterow immer 0; es wird also kein Match gefunden.

Die Daten in Datei 2 Spalte A werden als Datum in Excel erkannt. Gebe ich eine Match-Formel direkt auf meinem Worksheet in Datei 1 ein, benutze dort den Datumswert aus Zelle B4 in Datei 1 und suche nach einem Match in Spalte A in Datei 2, bekomme ich 5 als Ergebnis, weil dieses Datum in Zelle A5 in Datei 2 steht.

Offensichtlich findet Excel also das entsprechende Match für jedes einzelne Datum in Datei 1. Mit VBA finde ich aber kein einziges Match.

Hat jemand eine Idee, warum das so ist??? Vielen Dank im Voraus. Rene