Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
460to464
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
460to464
460to464
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

SVERWEIS mit variabler Matrix

SVERWEIS mit variabler Matrix
28.07.2004 19:07:27
UWE
Hallo VBA-Fan's,
Ich habe Probleme mit der indirekten Adressierung und möchte Euch
bitten, mal zu schauen, ob Ihr helfen könnt.
Die nachfolgende Anweisung habe ich während der Aufzeichnung in die Zelle B3 eingefügt.
Sie holt einen Wert aus der Tabelle PB
=WENN(ISTNV(SVERWEIS($A3;PB!$A$2:$G$25;7;FALSCH));0;SVERWEIS($A3;PB!$A$2:$G$25;7;FALSCH))
im Makro steht dann:
Range("B3").Select
ActiveCell.FormulaR1C1 = _
"=IF(ISNA(VLOOKUP(RC1,PB!R2C1:R25C7,7,FALSE)),0,VLOOKUP(RC1,PB!R2C1:R25C7,7,FALSE))"
Range("B3").Select
klappt erstmal prima, da aber PB zwar immer eine feste Spaltenzahl aber eine unterschiedliche Zeilenzahl haben kann,
wollte ich das ganze variabel halten und habe mir entsprechende Variablen eingerichtet:
Sheets("PB").Select
With Worksheets("PB")
PBLZ = .UsedRange.SpecialCells(xlCellTypeLastCell).Row
End With
PBBA = Cells(2, 1).Address
PBBE = Cells(PBLZ, 7).Address
PBTAB = "PB!" & PBBA & ":" & PBBE Ergebnis: "PB!$A$2:$G$25"
wenn ich jetzt im Macro statt der direkten Adresse PB!R2C1:R25C7 meine Variable PBTAB einsetze,
kommt als Ergebnis #NAME? . Der gleiche Fehler erscheint, wenn ich testweise PBTAB mit PB!R2C1:R25C7
belege. Excel verkraftet an der Stelle anscheinen keine Variable oder die Syntax sieht dann anders aus.
ActiveCell.FormulaR1C1 = _
"=IF(ISNA(VLOOKUP(RC1,PBTAB,7,FALSE)),0,VLOOKUP(RC1,PBTAB,7,FALSE))"
Selection.AutoFill Destination:=Range(AusPBBer), Type:=xlFillDefault
Woran kann das liegen ?
Beim anschließenden automatischen Füllen der darunter liegenden Zellen verfahre ich ähnlich.
Die Variable AusPBBer im Range wird akzeptiert.
Sheets("Auswertung").Select
With Worksheets("Auswertung")
Auslz = .UsedRange.SpecialCells(xlCellTypeLastCell).Row
End With

AusPBAnf = Cells(3, 2).Address
AusPBEnd = Cells(Auslz, 2).Address
AusPBBer = AusPBAnf & ":" & AusPBEnd
Ich bedanke mich schon im voraus für Eure Bemühungen.
Gruß Uwe

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SVERWEIS mit variabler Matrix
28.07.2004 19:13:21
Bernd
Hallo Uwe!!
Ich glaube hier mußt Du irgendwo den Befehl =INDIREKT(... einfügen. Das benutze ich immer dann, wenn ein Bezug veränderlich ist. Scheint in Deinem Beispiel auch so zu sein. Leider habe ich von VBA NULL Ahnung - sorry!
Gruß Bernd
AW: SVERWEIS mit variabler Matrix
28.07.2004 19:22:05
uwe
Hallo Bernd,
ich denke, das es nicht der richtige Weg ist.
Mit Indirekt() beziehe ich mich auf eine Zelle, in der ein Zellbezug gespeichert ist.
Dann stehe ich wieder vor dem Problem, wie bekomme ich das in meinen Makrobefehl.
Trotzdem vielen Dank
Gruß Uwe
AW: SVERWEIS mit variabler Matrix
28.07.2004 20:12:39
Nepumuk
Hallo Uwe,
wenn, dann so:
ActiveCell.FormulaR1C1 = _
"=IF(ISNA(VLOOKUP(RC1," & PBTAB & ",7,FALSE)),0,VLOOKUP(RC1," & PBTAB & ",7,FALSE))"
Gruß
Nepumuk
Anzeige
AW: SVERWEIS mit variabler Matrix
29.07.2004 08:49:20
uwe
Morgen Nepomuk,
so ähnlich hatte ich es auch versucht, aber mit meinen 14 Tagen
VBA-Erfahrung ist die Syntax noch nicht so richtig verinnerlicht.
Ich danke Dir, denn jetzt klappt es.
Gruß Uwe !!!

308 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige