PDA

Vollständige Version anzeigen : Vlookup-Problem


bearni
08.07.2014, 11:28
Hallo ihr Lieben!

Ich habe folgenden code: unter LookupAddress überprüfe ich meinen Bezug und dort stimmt es auch, was ich haben will, aber dann beim Durchlaufen öffnet sich immer das "Datei-Fenster" weil scheinbar der Pfad nicht gefunden wird(wenn ich auf schliessen klicke, wird nur "-" eingetragen aber das fenster öffnet sich beim nächsten mal wieder)...wo liegt mein Fehler? und meine Internet-Recherche war bis jetzt nicht von grossen Erfolg gekrönt....bitte um eure Hilfe

Dim sh As Worksheet
Data = Right(ActiveSheet.Name, 3)
Set Lastsh = ActiveSheet

For Each sh In ThisWorkbook.Sheets
If (InStr(sh.Name, "Summary") + InStr(sh.Name, "Home")) = 0 Or _
IsNull(InStr(sh.Name, "Summary") + InStr(sh.Name, "Home")) Then

Data1 = Right(sh.Name, 3)
With sh
.Select
Set RefSh = ActiveSheet
Set rgLookup = RefSh.Range("B:X")

If Data = Data1 Then
Lastsh.Select
LookupAddress = rgLookup.Parent.Name & "!" & rgLookup.Rows(i + 1).Address(False, False, External:=False)
On Error Resume Next
meanZelle.Offset(2, -7).Select
ActiveCell.FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-2],'" & LookupAddress & "',7,FALSE),""-"")"
Selection.AutoFill Destination:=Range("C5:C" & Last_Test_row)

lg, Bearni

R J
08.07.2014, 12:30
Hi bearni,

ich vermute mal hier:
If (InStr(sh.Name, "Summary") + InStr(sh.Name, "Home")) = 0 Or _
IsNull(InStr(sh.Name, "Summary") + InStr(sh.Name, "Home")) Then


Or IsNull(InStr(sh.Name, "Summary") + InStr(sh.Name, "Home"))
ist zudem keine Bedingung sondern lediglich eine aritmethische Operation, die immer 0 ergibt. Keine Ahnung, was Du da prüfen willst. Ich kenne jedenfalls kein Sheet, dass keinen Namen hat...

bearni
08.07.2014, 12:36
Hi RJ!
Danke erst mal für die Antwort...danke für den Hinweis aber das funktioniert eigentlich ohne Probleme...ich habe nur hier das Problem....
LookupAddress = rgLookup.Parent.Name & "!" & rgLookup.Rows(i + 1).Address(False, False, External:=False)
'Findet die Referenz
On Error Resume Next
meanZelle.Offset(2, -7).Select
ActiveCell.FormulaR1C1 = "=IFERROR(VLOOKUP(RC[-2],'" & LookupAddress & "',7,FALSE),""-"")"
'Öffnet Datei-Fenster und schreibt "-" in Zeile, aber die richtige Formel(mit richtiger Range) steht in Zeile!! hä?
Selection.AutoFill Destination:=Range("C5:C" & Last_Test_row)

R J
08.07.2014, 13:17
...hmmm... wie es scheint, hast Du für IstFehler zuviele Argumente. Müßte es nicht so heißen:

"=IFERROR(VLOOKUP(RC[-2],'" & LookupAddress & "',7,FALSE))"

bearni
14.07.2014, 11:21
sorry dass ich erst jetzt antworte.danke für die hilfe...der fehler war beim addresse überprüfen...die hochzeichen waren an der falschen stelle.
danke dir trotzdem für die hilfe