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

Forumthread: VLookup andere VBA Schreibweise

VLookup andere VBA Schreibweise
07.02.2017 15:41:15
Nilo
Moin zusammen,
gibt es für nachstehende Formel eine andere Schreibweise bei gleicher
Funktion?
With ActiveSheet
[I18:I527] = WorksheetFunction.VLookup([I18:I527], Sheets("Liste").[A2:K600], 11, False)
On Error Resume Next 'falls mal keine Fehler sind
[I18:I527].SpecialCells(xlCellTypeConstants, 16).ClearContents
On Error GoTo 0
End With
Besten Dank schon mal und Gruß
Nilo
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VLookup andere VBA Schreibweise
07.02.2017 15:56:30
Daniel
Hi
das schreibt man normalerweise so_:
dim arr
dim Zelle as range
dim z as Long
arr = Range("I18:I527")
for z = 1 to ubound(arr, 1)
set Zelle Sheets("Liste").Range("A2:A600").Find(what:=arr(z, 1), lookat:=xlwhole)
if Zelle is nothing then
arr(z, 1) = ""
else
arr(z, 1) = Zelle.Offset(0, 10).value
end if
next
Range("I18:I527").Value = arr
man könnte es auch so schreiben:
With Range("I18:I527").Offset(0, 100)
.FormulaR1C1 = "=IfError(RC[-100],Liste!R2C1:R600C11,11,False),"""")
.copy
.Offset(0, -100).PasteSpecial xlpastevalues
.ClearContents
End with

statt der 100 kannst du auch einen anderen Versatzwert nehmen, du darfst dir nur deine Bestehende Tabelle nicht überschreiben.
Gruß Daniel
Anzeige
AW: VLookup andere VBA Schreibweise
07.02.2017 16:10:15
Nilo
Cool, Danke !
Was meinst Du mir "normalerweise"
Gibt mit meiner Schreibweise sonst Compiler Probleme ?
Danke und Gruß
Nilo
AW: VLookup andere VBA Schreibweise
07.02.2017 17:06:34
Daniel
HI
nö, aber diese Schreibweise ist langsamer und es schwieriger, die verwendeten Zellbereiche über Variablen zu flexibilisiern.
Gruß Daniel

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige