Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Fehlermeldung zur VLookup-Eigenschaft

Fehlermeldung zur VLookup-Eigenschaft
04.06.2009 10:44:28
Dagmar
Hallo VBA-Experten,
ich bekomme bei dem folgenden Code immer wieder die Fehlermeldung:
Die VLookup-Eigenschaft des WorksheetFunction-Objekts kann nicht zugeordnet werden.
Code:
Sub Fehlerabschätzung()
Dim pos As Integer
Dim sparte As String
sparte = ActiveSheet.Cells(1, 1)
pos = Application.WorksheetFunction.VLookup(sparte, Range("Steuerung"), 4, False)
Wer kann mir sagen, wie ich die Fehlermeldung wegkriege?
Vielen Dank bereits im Voraus für gute Tipps!
Dagmar
Anzeige

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Fehlermeldung zur VLookup-Eigenschaft
04.06.2009 10:51:36
Hajo_Zi
Hallo Dagmar,
kann es sein, dass das Ergebnis > Absolut 32.768 ist?

AW: Fehlermeldung zur VLookup-Eigenschaft
04.06.2009 10:55:25
Rudi
Hallo,
dann würdest du einen Fehler 6-Überlauf bekommen.
Gruß
Rudi
AW: Fehlermeldung zur VLookup-Eigenschaft
04.06.2009 11:10:19
Dagmar
Nein, das Ergebnis ist eine Jahreszahl
Anzeige
AW: Fehlermeldung zur VLookup-Eigenschaft
04.06.2009 10:52:34
Rudi
Hallo,
Sub Fehlerabschätzung()
Dim pos As Integer
Dim sparte As String
sparte = ActiveSheet.Cells(1, 1)
pos = Application.VLookup(sparte, Range("Steuerung"), 4, False)
If Is Error(pos) then
...
end if
Gruß
Rudi
AW: Fehlermeldung zur VLookup-Eigenschaft
04.06.2009 12:27:19
Dagmar
Weshalb muss ich das "WorksheetFunction" weglassen? Wenn ich dies mache, dann kommt raus pos = Fehler2023 bei der Überwachung, aber das kann nicht sein in ActiveSheet.Cells(1,1) steht bspw. AAA und dies kommt in der Matrix (Range("Steuererung")) eindeutig vor.
Wer kann mir weiterhelfen? Vielen Dank bereits für Eure Mühe!
Dagmar
Anzeige
AW: Fehlermeldung zur VLookup-Eigenschaft
04.06.2009 12:41:16
Rudi
Hallo,

Weshalb muss ich das "WorksheetFunction" weglassen?


Musst du nicht. Ohne kannst du den Fehler aber sauber verarbeiten, ohne dass das Makro abbricht.


kommt in der Matrix (Range("Steuererung")) eindeutig vor.


Garantiert auch ohne Leerzeichein o.ä.?
Lade mal die Tabelle hoch.
Gruß
Rudi

Anzeige
AW: Fehlermeldung zur VLookup-Eigenschaft
05.06.2009 09:57:50
Dagmar
Hallo Rudi,
vielen Dank für Deine Rückmeldung. Die Tabelle hochladen kann ich leider nicht, da es sich um vertrauliche Daten handelt. Sorry.
Inzwischen läuft mein Programm auch und war nachdem ich den Bereich neu definiert habe. Eigentlich ist es der selbe wie vorher (A:E), aber da ich zwischenzeitlich dachte es liegt an der Bereichsgröße habe ich auf (A1:E100) eingeschränkt und dann doch wieder auf (A:E) vergrößert. Keine Ahnung, was da jetzt anders dran sein soll. Auf jeden Fall läuft es jetzt. Vielen Dank auf jeden Fall für Deine Mühe - und natürlich auch an die anderen, die sich über mein Problem Gedanken gemacht haben.
Grüße
Dagmar
Anzeige
AW: Fehlermeldung zur VLookup-Eigenschaft
04.06.2009 10:53:42
Markus
so:
Dim sparte As Range
Set sparte = ActiveSheet.Cells(1, 1)
LG
Markus
Unsinn owT
04.06.2009 10:56:13
Rudi
AW: Unsinn owT
04.06.2009 11:06:45
Markus
Und warum ist die Fehlermeldung dann weg und das Ergebnis stimmt?
Lass deine Unsinnigen Komentare!
Anzeige
AW: Unsinn owT
04.06.2009 11:12:18
Dagmar
Welche Unsinnigen Kommentare meinst Du?
AW: Unsinn owT
04.06.2009 11:18:41
Markus
Hallo Dagmar
Den wo ich darauf geantwortet habe
Unsinn owT - von Rudi Maintaire am 04.06.2009 10:56:13
AW: Unsinn owT
04.06.2009 12:14:16
Dagmar
Ja, aber ich meinte inhaltlich. Was war da nicht richtig, was er geschrieben hat?
Anzeige
AW: Unsinn owT
04.06.2009 12:25:21
Markus
Er betitelt meinen Beitrag doch als Unsinn. Aber es funktioniert bei mir so wie angegeben, indem ich diese zwei Codezeilen verändere wie bei mir angegeben.
Also wenn er meint das sei Unsinn, soll er doch bitte auch dazuschreiben warum und nicht einfach nur "Unsinn" kommentieren.
Damit kann ich nämlich nichts anfangen und muss wiederum seinen Beitrag als Unsinn abtun.
Seine Antwort auf deine Frage habe ich ja nicht kommentiert, sondern nur seine Rückmeldung auf meinen Beitrag.
Anzeige
AW: Unsinn owT
04.06.2009 12:46:36
Rudi
Hallo,
weil deine nachgebaute Tabelle nicht mit Dagmars übereinstimmt.
Ob ich einer Variablen einen String zuweise oder einer Zelle und deren Inhalt dann verarbeite, ist egal.
Der Fehler besagt eindeutig, dass der Wert nicht gefunden wird.
Gruß
Rudi
AW: Unsinn owT
04.06.2009 13:32:31
Markus
Ja,
aber auch in meinem Tabellennachbau bekam ich mit der Ursprungsversion einen Fehler bzgl. Object in der Zeile "pos=..."
Mit meiner Version gings dann: Suche und Ausgabe eines Wertes.
Allerdings ohne Abfang, wenn Werte einfach nicht vorhanden ist.
Markus
Anzeige
;

Forumthreads zu verwandten Themen

Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Fehlermeldungen bei VLookup in Excel VBA beheben


Schritt-für-Schritt-Anleitung

Um die Fehlermeldung "Die VLookup-Eigenschaft des WorksheetFunction-Objekts kann nicht zugeordnet werden" zu beheben, folge diesen Schritten:

  1. Öffne den Visual Basic for Applications (VBA) Editor in Excel (Alt + F11).

  2. Erstelle ein neues Modul oder öffne ein bestehendes.

  3. Füge den folgenden Code ein:

    Sub Fehlerabschätzung()
       Dim pos As Variant
       Dim sparte As String
       sparte = ActiveSheet.Cells(1, 1).Value
       pos = Application.VLookup(sparte, Range("Steuerung"), 4, False)
    
       If IsError(pos) Then
           MsgBox "Wert nicht gefunden", vbExclamation
       Else
           MsgBox "Gefundener Wert: " & pos
       End If
    End Sub
  4. Ändere den Bereich in Range("Steuerung"), wenn nötig. Stelle sicher, dass die Datenquelle korrekt definiert ist.

  5. Führe das Makro aus und teste es mit verschiedenen Eingabewerten.


Häufige Fehler und Lösungen

  1. Fehlermeldung: vba error 2042

    • Diese Fehlermeldung tritt auf, wenn der gesuchte Wert nicht gefunden werden kann. Verwende IsError, um diesen Fehler abzufangen.
  2. VLookup funktioniert nicht

    • Überprüfe, ob der Suchwert korrekt ist und ob er in der angegebenen Matrix vorhanden ist. Achte auf Leerzeichen oder Groß-/Kleinschreibung.
  3. Die VLookup-Eigenschaft kann nicht zugeordnet werden

    • Stelle sicher, dass du Application.VLookup anstelle von Application.WorksheetFunction.VLookup verwendest, um die Fehlerbehandlung zu verbessern.

Alternative Methoden

  • Verwendung von Application.VLookup: Diese Methode ermöglicht es, Fehler wie vba error 2042 leichter abzufangen.

  • Nutzung von If Not IsError(...): Damit kannst du sicherstellen, dass der Code nicht abbricht, wenn der gesuchte Wert nicht gefunden wird.

  • Array-Formeln: Wenn du komplexere Suchen durchführen möchtest, könntest du auch Array-Formeln in Excel verwenden, um mehrere Bedingungen abzufragen.


Praktische Beispiele

Hier sind einige Beispiele für die Verwendung von VLookup in Excel VBA:

  1. Einfaches Beispiel:

    Sub Beispiel1()
       Dim result As Variant
       result = Application.VLookup("AAA", Range("Steuerung"), 4, False)
       If IsError(result) Then
           MsgBox "Wert nicht gefunden"
       Else
           MsgBox "Der Wert ist: " & result
       End If
    End Sub
  2. Mehrere Suchwerte:

    Sub Beispiel2()
       Dim i As Integer
       For i = 1 To 10
           MsgBox Application.VLookup(Cells(i, 1).Value, Range("Steuerung"), 4, False)
       Next i
    End Sub

Tipps für Profis

  • Verwende Named Ranges: Anstatt feste Zelladressen zu verwenden, kannst du benannte Bereiche nutzen, um deinen Code klarer und flexibler zu gestalten.

  • Fehlerprotokollierung: Implementiere eine Fehlerprotokollierung, um herauszufinden, wo und warum Fehler auftreten.

  • Debugging: Nutze die Debugging-Tools in VBA, um den Code Schritt für Schritt durchzugehen und mögliche Fehlerquellen zu identifizieren.


FAQ: Häufige Fragen

1. Was bedeutet der Fehler "Die VLookup-Eigenschaft kann nicht zugeordnet werden"? Dies bedeutet, dass der gesuchte Wert in der angegebenen Matrix nicht gefunden werden konnte oder dass ein anderer Fehler in der Formel vorliegt.

2. Wie kann ich Fehler bei VLookup in VBA abfangen? Verwende If IsError(...) Then, um zu überprüfen, ob ein Fehler aufgetreten ist, bevor du mit dem Ergebnis weiterarbeitest.

3. Warum muss ich 'WorksheetFunction' weglassen? Wenn du Application.VLookup verwendest, kannst du Fehler einfacher abfangen, ohne dass das Makro abbricht.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige