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. VBA HTTP Post - Probleme JSON Payload

    in Microsoft Excel Hilfe
    VBA HTTP Post - Probleme JSON Payload: Moin, ich steh auf dem Schlauch.... Ich möchte mit VBA einen HTTP Post senden. Das klappt beim versenden OHNE Payload auch soweit auch ganz gut. Private Function http_post(url As String,...
  3. Kombinationsfeld in VBA auswerten

    in Microsoft Access Hilfe
    Kombinationsfeld in VBA auswerten: Guten Tag, ich habe ein VBA-Problem mit Kombinationsfeldern. Umfeld: Eine Tabelle A mit Namen incl. Adressen, indiziert (NamenID), keine doppelten Einträge möglich. Eine Tabelle B mit Rechnungen,...
  4. Download per VBA nicht aktuell

    in Microsoft Access Hilfe
    Download per VBA nicht aktuell: Hallo, ich nutze in VBA eine Download-Funktion, die mir die neueste Version meines Frontend downloaden soll. Der Download an sich funktioniert, doch leider wird eine alte Version gespeichert. Ich...
  5. Autofilter bei Zelländerung automatisch aktualisieren – ohne VBA

    in Microsoft Excel Hilfe
    Autofilter bei Zelländerung automatisch aktualisieren – ohne VBA: Hallo zusammen, ich habe eine Frage zur automatischen Aktualisierung von Autofilter-Ergebnissen in einer intelligenten Tabelle – und zwar ohne VBA. Ausgangssituation: Ich habe eine intelligente...
  6. Bereich mit VBA zusammenhalten

    in Microsoft Word Hilfe
    Bereich mit VBA zusammenhalten: Ich schreibe aus Access mit VBA Anschriften in ein Worddokument. Jede Anschrift soll zusammengehalten werdem, damit am Seitenende keine Anschrift getrennt wird. Wie muss ich vorgehen um eine...
  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