Spaltenbegrenzung bei .range?

Bild

Betrifft: Spaltenbegrenzung bei .range?
von: Thorsten
Geschrieben am: 17.09.2015 17:17:33

Hallo zusammen,
gibt es bei .Range("xx:xy")eine Spaltenbegrenzung?
In meinem Code kann ich den Datenbereich nur bis zur Spalte "GE" (=179 Spalten)wählen, -wenn ich den Datenbereich erweitere (z.B. auf "GF1000", dann wird gar kein Ergebnis mehr angezeigt. Woran liegt das und hat jemand eine Idee, wie ich das Problem lösen kann? Die Originaldatei hat ca. 200 Spalten, die ich auswerten möchte ...
Besten Dank Euch und viele Grüße
Thorsten
Hier mein Code:


Sub sverweis1()
On Error Resume Next
Dim Zeile, Spalte As Long
table1 = Sheets("Eingabe").Range("A3:A10")
table2 = Sheets("Produkte").Range("i2:ge1000")
Zeile = Sheets("Eingabe").Range("c3").Row
For Each cl In table1
Sheets("Eingabe").Cells(Zeile, 3) = Application.WorksheetFunction.VLookup(cl, table2, 5, False)
'(...)
Zeile = Zeile + 1
Next cl
End Sub

Bild

Betrifft: AW: Spaltenbegrenzung bei .range?
von: Gerd L
Geschrieben am: 17.09.2015 17:39:30
Hallo Thorsten!
Kommentiere das On Error Resume Next aus, damit dir eine "ordentliche" Fehlermeldung angezeigt wird.
Gruß Gerd

Bild

Betrifft: Das wird ein Problem von VLookUp sein, ...
von: Luc:-?
Geschrieben am: 17.09.2015 17:42:11
…Thorsten,
kein generelles Range-Problem. Folglich müsstest du den Teil auch selbst pgmmieren.
Gruß, Luc :-?

„Der Erfolg eines Buches hängt nicht von den Menschen ab, die es gelesen haben, sondern von jenen, die es nicht gelesen haben, aber trotzdem darüber urteilen.“ (Arthur) Evelyn (St. John) Waugh

Besser informiert mit …

Bild

Betrifft: AW: Spaltenbegrenzung bei .range?
von: Daniel
Geschrieben am: 17.09.2015 18:23:29
Hi
für den VLookUp ist es nicht notwendig, die Daten vorher in ein Array zu kopieren.
arbeite da doch direkt mit der Exceltabelle, die Daten sind schon vorhanden, warum also nochmal kopieren?
dein Codebeispiel lässt sich doch ganz einfach als Excelformel schreiben:


With Sheets("Eingabe").Range("C3:C10")
    .FormulaR1C1 = "=IfError(VLookUp(RC1,Produkte!R2C9:R1000C180,5,false),"""")"
    .Formula = .Value
End If
der grösste Perfomancegewinn für die gezeigte Aufgabenstellung lässt sich erziehlen, wenn du die Tabelle Produkte nach Spalte I sortierst und den SVerweis mit 4. Parameter = WAHR einsetzt.
Aufgrund der Sortierung kann diese SVerweisvariante eine bessere Suchmethode einsetzen und ist daher bei grösseren Datenmengen um Welten schneller.
Gruß Daniel

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Datei sehr langsam wegen matrixformeln"