AW: warum Makro schreiben, wenns der SVeweis tut
Daniel
Hi
das was du da machst, ist doch nichts anderes als die SVERWEIS-Funktion, warum dann also ein Makro schreiben?
im einfachsten Fall sieht die Formel so aus:
(geschrieben für Tabelle1!C4)
= SVerweis(A4;DB!A:C;3;0)
sollte das wegen der Datenmenge Performance-Probleme geben, könntest du die Formel folgendermassen abändnern, allerdings muss dann die Tabelle DB nach Spalte A sortiert sein:
= Wenn(SVerweis(A4;DB!$A$4:$C$15000;1;1)=A4;SVerweis;(DB!$A$4:$C$15000;3;1);"")
als Makro würde das dann so aussehen:
Sub Go
dim Z as long, zDB as long
Z = sheets("Tabelle1").Cells(Rows.count,1).end(xlup).row
zDB = Sheets("DB").Cells(Rows.count,1).end(xlup).row
with Sheets("DB")
.Range("4:" & zDB).sort key1:=.Cells(4,1), order1:=xlascending, Header:=xlno
end with
with Sheets("Tabelle1").Range("C4:C" & Z)
.formulaR1C1 = _
"=If(VLookUP(RC1,DB!R4C1:R" & zDB & "C1,1,1)=RC1,VLookUP(RC1,DB!R4C1:R" & zDB & "C3,3,1),"""")
.formula = .value
end with
end sub
Gruß, Daniel
ps wie hast du dein Makro bei dir ans laufen gebracht? "Go" ist als Makroname nicht zulässig