Seltsames Problem mit VLookup

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
TextBox
Bild

Betrifft: Seltsames Problem mit VLookup von: Fabian
Geschrieben am: 08.04.2005 16:39:09

Hi,

ich quäle mich nun schon seit Stunden mit diesem eigenartigen Problem, aber ich verstehe es einfach nicht. Folgendes:

Dim PerZ As Long
Dim NebK As Long
Dim KosL As Range

PerZ = TextBox1.Value
Set KosL = Worksheets("Daten").Range("A5:B11")
NebK = Application.WorksheetFunction.VLookup(PerZ, KosL, 2)
TextBox3.Value = NebK

Der niedrigste Wert in der durchsuchten Range ist 30, der höchste 140. Der Benutzer gibt einen Wert in die TextBox1 ein. Wenn dieser Wert größer als 140 ist, verhält Excel sich so wie ich es erwarten würde und nimmt den nächstliegenden Wert (also so als ob 140 eingegeben worden wäre). Wenn der eingegebene Wert aber kleiner als 30 ist bekomme ich statt des nächstliegenden Wertes folgende Fehlermeldung:

Die VLookup-Eigenschaft des WorksheetFunction-Objektes kann nicht zugeordnet werden. (Laufzeitfehler '1004')

Ich verstehe es einfach nicht (*haarerauf*), vielleicht hat ja hier jemand den entscheidenden Tip für mich. :)


Vielen Dank im Voraus
Fabian

Bild


Betrifft: AW: Seltsames Problem mit VLookup von: ransi
Geschrieben am: 08.04.2005 16:46:49



 hallo fabian

aus der hilfe zum sverweis()

Hinweise 

Wenn SVERWEIS das Suchkriterium nicht finden kann, und Bereich_Verweis ist WAHR, wird der größte Wert verwendet, der kleiner oder gleich Suchkriterium ist.
 
Wenn Suchkriterium kleiner als der kleinste Wert in der ersten Spalte von Matrix ist, gibt SVERWEIS den Fehlerwert 
#NV zurück.  

Wenn SVERWEIS Suchkriterium nicht finden kann, und Bereich_Verweis ist FALSCH, gibt SVERWEIS den Wert #NV zurück.

ransi
 


     Code eingefügt mit Syntaxhighlighter 3.0




Bild


Betrifft: AW: Seltsames Problem mit VLookup von: Fabian
Geschrieben am: 08.04.2005 16:55:28

OK. Vielen Dank, das habe ich überlesen. Gibt es denn irgendeine Möglichkeit dieses Verhalten zu umgehen?


Bild


Betrifft: AW: Seltsames Problem mit VLookup von: Ceyser Soze
Geschrieben am: 10.04.2005 18:53:10

Hi Fabian,
man könnte prüfen ob ein fehler vorkommt und für den fehlerfall eine variante schaffen:


      
With Application.WorksheetFunction
    
On Error Resume Next
    check = IsError(.VLookup(PerZ, KosL, 2))
    
If check = True Then
        Nebk = .VLookup(PerZ, KosL, 2)
    
Else
        Nebk = 0 
'Fehlervariante
    End If
End With
 

     Code eingefügt mit Syntaxhighlighter 3.0


Gruß
CS


Bild


Betrifft: AW: Seltsames Problem mit VLookup von: Ceyser Soze
Geschrieben am: 10.04.2005 19:06:05

...öh, da habe ich mich vertan... so geht es:


With Application.WorksheetFunction
    check = 
True
    
On Error Resume Next
    check = .IsError(.VLookup(PerZ, KosL, 2))
    
If check = False Then
        Nebk = .VLookup(PerZ, KosL, 2)
    
Else
        Nebk = 0 
'Fehlervariante
    End If
End With 

     Code eingefügt mit Syntaxhighlighter 3.0

sorry
CS


Bild


Betrifft: AW: Seltsames Problem mit VLookup von: Fabian
Geschrieben am: 10.04.2005 19:13:07

Vielen Dank, das werde ich mal probieren. :)


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Seltsames Problem mit VLookup"