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 - Wert in einer Spalte finden und diese Zeile löschen

    in Microsoft Excel Hilfe
    VBA - Wert in einer Spalte finden und diese Zeile löschen: Moin moin ihr Lieben, ich habe nun schon im Netz nach einer Lösung gesucht, aber nichts passendes oder funktionstüchtiges gefunden. Ich habe eine Tabelle mit Spalten A - G. Nun soll Excel in der...
  3. Freigegebene Excel-Tabelle als Quelle für Seriendruck

    in Sonstiges
    Freigegebene Excel-Tabelle als Quelle für Seriendruck: Hallo, :) wir haben eine Excel-Tabelle, welche auf der Cloud liegt und bei Änderungen automatisch speichert. Es haben mehrere Personen Lese- und Schreibrechte und sobald jemand etwas abändert,...
  4. VBA: Kein "Undo" mehr möglich?

    in Microsoft Excel Hilfe
    VBA: Kein "Undo" mehr möglich?: Hallo, ich habe meine Bestell-Tabelle so abgeändert, dass einiges per Makro, bzw. mittels Buttons übertragen wird. Also zum Beispiel wird mit einem Klick auf den Button die Lieferadresse gleich...
  5. EINLADUNG Access-Stammtisch Hannover Nr. 63 LIVE am Mittwoch 19.11.2025

    in Microsoft Access Hilfe
    EINLADUNG Access-Stammtisch Hannover Nr. 63 LIVE am Mittwoch 19.11.2025: EINLADUNG zum Access-Stammtisch Hannover Nr. 63 LIVE Endlich ist es wieder soweit! Persönlicher Austausch bei Speis und Trank. Interessante Gespräche in netter Atmosphäre. Termin: Mittwoch,...
  6. VBA: Notizen in Zelle einfügen

    in Microsoft Excel Hilfe
    VBA: Notizen in Zelle einfügen: Hallo zusammen, ich möchte über cells(x,y).AddComment "Text" eine Notiz einfügen. Das funktioniert leider nur sehr unzuverlässig. Mal ist der Text in der Notiz, mal wird nur eine leere Notiz...
  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