Office: (Office 2010) VBA: vlookup in einer Schleife funktioniert nicht

Helfe beim Thema VBA: vlookup in einer Schleife funktioniert nicht in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo zusammen, ich hab hier ein lästiges Problem mit einer vlookup-Funktion innerhalb einer Schleife und komme einfach nicht dahinter, woran es... Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von deOfficeMichel, 30. Januar 2016.

  1. VBA: vlookup in einer Schleife funktioniert nicht


    Hallo zusammen,

    ich hab hier ein lästiges Problem mit einer vlookup-Funktion innerhalb einer Schleife und komme einfach nicht dahinter, woran es liegt.

    Vielleicht sieht jemand von euch meinen Fehler?

    Kurz vorab zur eigentlichen Tabelle:
    Ich lese aus dem Windows Eventlog die An- und Ausschaltzeit des PCs aus und lasse diese temporär in eine Excel-Datei eintragen. Nach dem Schließen der Datei werden die Daten wieder gelöscht bzw. beim nächsten Aufruf überschrieben.
    Die Datei dient dazu, den Kollegen ihre ungefähre Arbeitszeiten
    • am aktuellen Tag -und-
    • der letzten sieben Tage
    anzuzeigen.

    Die "Kommenzeiten" stehen in Spalte A (Datum) und B (Zeit), die "Gehenzeiten" in Spalte D (Datum) und E (Zeit).

    Damit ich eine chronologische Abfolge der Zeiten für die letzten sieben Tage habe, baue ich in Spalte H-J eine weitere kleine Tabelle auf, die von heute an das Datum 8 Tage zurückrechnet.
    Zu jeden Datum soll dann in Spalte I die Kommenzeit und in Spalte J die Gehenzeit eingetragen werden.

    Nun gibt es aber Tage, an denen nicht gearbeitet wird, Wochenende z. B. oder Feiertage bzw. Urlaub. An diesen Tagen liefert das Eventlog natürlich kein Datum und die passende Zeit dazu.
    Die WSF vlookup liefert also verständlicherweise einen Fehler. Und diesen Fehler abzufangen bekomme ich irgendwie nicht hin.

    Nun mal konkret zum Code für die Kommenzeiten:


    Public Sub KommenZeiten()
    Dim ws As Worksheet
    Dim wsf As WorksheetFunction
    Dim rngKommen As Range
    Dim i As Integer
    Dim dKommenIst As Date

    Set ws = ThisWorkbook.Sheets(1)
    Set wsf = Application.WorksheetFunction
    Set rngKommen = ws.Range("A:B")

    For i = 5 To 12
    On Error GoTo FehlerKommen
    dKommenIst = wsf.VLookup(ws.Cells(i, 8), rngKommen, 2, False)
    Weiter:
    ws.Cells(i, 9).Value = dKommenIst
    Next
    Exit Sub

    FehlerKommen:
    dKommenIst = Format(0, "hh:nn:ss")
    GoTo Weiter

    End Sub


    Als Datum haben wir heute:
    01.02.2016
    31.01.2016
    30.01.2016
    29.01.2016
    [...]
    25.01.2016

    Für den 01.02.2016 wird die heutige Uhrzeit eingetragen.
    Für den 31.01.2016 wird 00:00:00 eingetragen
    Ab dem 30.01.2016 kommt die Fehlermeldung
    "Laufzeitfehler 1004: Die vlookup-Eigenschaft des WorksheetFunction-Objektes kann nicht zugeordnet werden."

    Warum schlägt das nun auf einmal fehl?
    Ich habe doch gesagt, dass bei einem Fehler zu FehlerKommen gesprungen werden soll und anschließend wieder zur Sprungmarke Weiter.

    Ich hab es dann mal mit "On Error resume next" probiert.
    In diesem Fall hab ich dann für den 31. und 30.01.2016 die gleichen Kommenzeiten wie beim 01.02.2016. Und das kann eigentlich auch nicht sein. Hier hab ich dann schon einmal probiert, die Variable zu "leeren", also:


    ...
    dim dKommenIst as Date
    dim reset_dKommenIst as Date
    ...
    For i = 5 to 12
    dKommenIst = reset_dKommenIst
    ...
    Next
    ...



    Aber auch hier ständig der Laufzeitfehler 1004...

    Ich bin jetzt echt am verzweifeln. Seh ich den Wald vor lauter Bäumen nicht mehr?

    :)
     
    deOfficeMichel, 30. Januar 2016
    #1
  2. Hallo,

    versuch's mal ohne WorksheetFunction:
    Code:
    Grüße
    EarlFred
     
    EarlFred, 1. Februar 2016
    #2
  3. EarlFred, vielen Dank!
    Das war die Lösung, es funktioniert! *Smilie

    Merciii!
     
    deOfficeMichel, 1. Februar 2016
    #3
Thema:

VBA: vlookup in einer Schleife funktioniert nicht

Die Seite wird geladen...
  1. VBA: vlookup in einer Schleife funktioniert nicht - Similar Threads - VBA vlookup Schleife

  2. Kamera in Excel einbinden und per vba Fotos erstellen

    in Microsoft Excel Hilfe
    Kamera in Excel einbinden und per vba Fotos erstellen: Kamera in Excel einbinden Hallo, ich suche einen Code für eine UserForm, mit der ich die integrierte Kamera des WinPC in der UserForm anzeigen lassen kann und davon ein Bild sichern kann.
  3. Liste aller Comboboxen im Sheet

    in Microsoft Excel Hilfe
    Liste aller Comboboxen im Sheet: Hallo allerseits, Ich möchte alle Comboboxen eines Worksheets mit VBA auslesen und finde nicht den Namen der Liste in den Sheet-Eigenschaften, in der die Comboboxen gespeichert sind. Wer weiß, wo...
  4. Pivot Tabelle: Quelle per VBA verändern

    in Microsoft Excel Hilfe
    Pivot Tabelle: Quelle per VBA verändern: Hi all, gibt es eine Möglichkeit, wie ich die Quelle einer Pivot Tabelle mit einem Klick aktualisieren kann? 1) Beispiel Quelle: [Datum_Dateiname.xlsx]Tabelle1!$A:$AA 2) Beispiel wie es je nach...
  5. Auswertung aus mehreren Registern erstellen (nur die Gelbmarkierten oder mit Datum von akt. Woche)

    in Microsoft Excel Hilfe
    Auswertung aus mehreren Registern erstellen (nur die Gelbmarkierten oder mit Datum von akt. Woche): Hallo zusammen, ich arbeite mit einer Excel-Arbeitsmappe, die mehrere Tabellenblätter enthält. Jedes Blatt dokumentiert bestimmte Vorgänge, und die Struktur der Daten ist in allen Blättern...
  6. VBA in einer Zeile zu lang

    in Microsoft Excel Hilfe
    VBA in einer Zeile zu lang: Moin, mein VBA Code ist für eine Zeile zu lang. Kann mir einer helfen wie ich den auf 2 Zeilen aufteilen Kann? arrSchuhDaten = Array(Range("A6"), Range("F6"), Range("J6"), Range("A7"),...
  7. Problem bei Excel - VBA Makro SVERWEIS funktioniert nicht!

    in Microsoft Excel Hilfe
    Problem bei Excel - VBA Makro SVERWEIS funktioniert nicht!: Hallo Zusammen, vielleicht kann mir jemand bei meinem Problem helfen. Ich bin in der VBA Programmierung nicht so fit. Ich habe es mit einer Makroaufzeichnung versucht und bekam dieses Ergebnis:...
  8. VBA VLookup in geschlossene Datei

    in Microsoft Excel Hilfe
    VBA VLookup in geschlossene Datei: Hallo Ich brauche Hilfe mit dem SVerweis in VBA. Ich habe ein VBA-Skript, welches einen SVerweis in eine andere Datei ausführen soll. Die betreffende Zeile lautet: If strAntenna <>...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden