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 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"),...
  3. Listbox wird nicht breiter, Schriftgrösse ändert sich

    in Microsoft Excel Hilfe
    Listbox wird nicht breiter, Schriftgrösse ändert sich: Hallo, ich habe ein Formular dessen Breite ich mit der Maus ändern kann. Im Formular habe ich einen Rahmen und darin eine Listbox deren Breite an die Formularbreite angepasst wird....
  4. Kontrollkästchen aktivieren ohne VBA - wenn KK1 angekreuzt dann KK2 auch

    in Microsoft Excel Hilfe
    Kontrollkästchen aktivieren ohne VBA - wenn KK1 angekreuzt dann KK2 auch: Hallo zusammen, erstmal danke für all die Tipps und Kniffe, die ich ohne eigenen Thread gefunden und gelernt habe. Leider finde ich mein Thema nirgendwo... Aktuell habe ich zwei Spalten mit...
  5. Per Hyperlink ausgeblendetes Blatt einblenden

    in Microsoft Excel Hilfe
    Per Hyperlink ausgeblendetes Blatt einblenden: Hola ins Forum, ich bräuchte mal wieder eure Hilfe. Ich habe ein Tabellenblatt das mir als Register dient und wo Hyperlinks eingefügt sind um auf das dazugehörige Blatt zu springen. Diese Blätter...
  6. Bilder über VBA Größe und DPI ändern für Webshop

    in Microsoft Excel Hilfe
    Bilder über VBA Größe und DPI ändern für Webshop: Hallo Excel Spezialisten, Ich habe mir eine recht aufwendige Tabelle gebastelt, aus der ich Daten für meinen Webshop generiere und in einer .csv bereitstelle. Es werden neue Preislisten...
  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