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. Textteile aus Zelle mit mehreren Absätzen

    in Microsoft Excel Hilfe
    Textteile aus Zelle mit mehreren Absätzen: Hallo, ich habe folgendes Problem: Ich habe in einer Liste in einer Zelle mehrere Angaben aus denen ich Textteile (z.B. alles was in () oder {} ist) herausziehen will, um damit weiter zurechnen....
  3. Aufrufen Datei aus SharePoint per VBA

    in Microsoft Access Hilfe
    Aufrufen Datei aus SharePoint per VBA: Wer kann mir helfen. In meiner Firma gibt es Dateien in diversen Ordner in Form von SharePoints, worauf alle Kolleginnen und Kollegen zugreifen kann. Dort habe ich eine Excel-Vorlage, worin die...
  4. VBA: Spalten auf anderen Worksheeds in der Mappe ausblenden.

    in Microsoft Excel Hilfe
    VBA: Spalten auf anderen Worksheeds in der Mappe ausblenden.: Hallo zusammen, Eine Tabelle mit 9 Worksheets, Datenblatt, Studien, Studie_1 ...Studie_7. Auf dem Deckblatt werden in Zelle B4-B10 die Namen der Studien eingetragen. Davon abhängig ob ein Name...
  5. VBA Zeilen kopieren mit Bedingung

    in Microsoft Excel Hilfe
    VBA Zeilen kopieren mit Bedingung: Hallo zusammen, Ich möchte per Makro Zeilen aus Tabelle2 in Tabelle3 kopieren, wenn eine Bedingung erfüllt ist. Bedingung: Der Wert in Spalte E (Tabelle2) kommt in Tabelle1 in Spalte E vor....
  6. VBA - Datensätze ans Ende einer anderen Tabelle kopieren

    in Microsoft Excel Hilfe
    VBA - Datensätze ans Ende einer anderen Tabelle kopieren: Hallo zusammen, ich habe gerade eine "Abrechnungs"-Datei für einen Kindergartenbasar erstellt. Es wäre klasse, wenn man per Schaltfläche die Datensätze aus der Tabelle "Kaeufer" ans Ende der...
  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