Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1388to1392
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Sverweis auf dynamischen bereich
28.10.2014 14:57:31
Renner
Hallo,
Ich habe einen Sverweis der mir Daten aus einem Datenblatt "Stammdaten" ausliest und in eine _
Textbox wiedergibt. Das Suchkriterium befindet sich in dem Datenblatt "Eingabe"
Nun möchte ich den Suchbereich dynamisch gestalten, da die Stammdaten nach und nach erweitert _
werden.Hier liegt das Problem.
Ich habe versucht die Vorgehensweise aus einer anderen dynamischen Funktion zu übernehmen, doch das klappt nicht.

Dieser Ausdruck funktioniert wie es sein soll
f_ausgabe.tb_Ferigungsanlage_ausgabe.Value = WorksheetFunction.VLookup(Eingabe.Cells(3, 1), _
Stammdaten.Range("A3:BA19"), 24, False)

Doch die Dynamisierung klappt nicht.
Private Sub _Click()
Dim lza As Integer
With Worksheets("Stammdaten")
'letzte Zeile bestimmen
lza = Cells(Rows.Count, "BA").End(xlUp).Row
'laden der Daten in die Ausgabemaske
f_ausgabe.tb_einlegeteil_ausgabe.Value = WorksheetFunction.VLookup(Eingabe.Cells(3, 1), _
Stammdaten.Range(Cells(3, 1), Cells(lza, 19)), 15, False)
End With
End Sub

Ich bekomme immer einen "Fehler 9" bei With.. weiß aber nicht was ich beim Kopieren falsch  _
gemacht habe.
Kann mir einer sagen was da falsch ist?
Vielen Dank für eure Mühen
Gruß
Dima

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Sverweis auf dynamischen bereich
28.10.2014 15:56:44
Rudi
Hallo,
der . macht's.
Private Sub _Click()
Dim lza As Integer
With Worksheets("Stammdaten")
'letzte Zeile bestimmen
lza = .Cells(.Rows.Count, "BA").End(xlUp).Row
'laden der Daten in die Ausgabemaske
f_ausgabe.tb_einlegeteil_ausgabe.Value = WorksheetFunction.VLookup(Eingabe.Cells(3, 1), _
.Range(.Cells(3, 1), .Cells(lza, 19)), 15, False)
End With
End Sub
Aber wozu der Aufwand? Sverweis über komplette Spalten ist nicht schädlich.
VLookup(Eingabe.Cells(3, 1), Stammdaten.Range("A:BA"), 24, False)
Gruß
Rudi

AW: Sverweis auf dynamischen bereich
28.10.2014 16:13:52
fcs
Hallo Dima,
du musst die Referenz für alle Range- und Cells-Objekte vollständig setzen.
Bei einer With Objekt-Konstruktion durch das voranstellen von Punkten vor den Unterobjekten.
Zusäztlich solltest du prüfen, ob der in den Stammdaten gesuchte Wert in Spalte A einen Fehlerwert liefert, sonst gibt es auch einen Fehler-Abbruch für VLookup/bei der Wertzuweisung.
Gruß
Franz
Private Sub AA_Click()
Dim lza As Integer
Dim Wert As Variant
With Worksheets("Stammdaten")
'letzte Zeile bestimmen
lza = .Cells(.Rows.Count, "BA").End(xlUp).Row
Wert = Application.VLookup(Eingabe.Cells(3, 1), _
.Range(.Cells(3, 1), .Cells(lza, 19)), 15, False)
'laden der Daten in die Ausgabemaske
'prüfen, ob Suche nach Wert in Spalte A der Stammdaten einen Fehler liefert
If IsError(Wert) Then
f_ausgabe.tb_einlegeteil_ausgabe.Value = "#NV" ' = "nicht gefunden"
Else
f_ausgabe.tb_einlegeteil_ausgabe.Value = Wert
End If
End With
End Sub

Anzeige
AW: Sverweis auf dynamischen bereich
28.10.2014 17:02:59
Renner
Hallo Franz,
Danke für deinen Vorschlag.
Mit der Referenz sind die Punkte vor .Cells() gemeint, bin leider ein Leihe im Programmieren? Habe diese in einer ähnlichen Funktion gesetzt und die hat funktioniert.!!!! :) Danke!
Leider klappt es mit den Sverweis immer noch nicht. Bei With ist Schluss. Ich vermute ich mache irgendwas mit Worksheet falsch.Meine Excel-Datei hat mehrere Tabellen, vielleicht kommt Excel da durcheinander. oder ich definiere nicht richtig.
Gruß
Dima

AW: Sverweis auf dynamischen bereich
28.10.2014 20:23:28
Renner
Userbild

Anzeige
AW: Sverweis auf dynamischen bereich
28.10.2014 23:57:30
Rudi
Hallo,
dann gibt es das WS wohl nicht in der aktiven Mappe.
Gruß
Rudi

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige