Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
768to772
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
768to772
768to772
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

SVERWEIS per Makro hinter Pivot-Tabelle

SVERWEIS per Makro hinter Pivot-Tabelle
29.05.2006 17:41:14
Phil
Hallo,
ich habe ein nicht ganz einfaches (Excel, VB, Pivot) Problem:
Das Tabellenblatt "AAA" enthält eine Pivot-Tabelle. Ich möchte am Ende dieser Pivottabelle eine neue Spalte "Budget" per Makro einfügen. Da sich die Breite und Tiefe der Pivot-Tabelle regelmäßig ändert und ich dieses Makro für verschiedene Pivots nutzen möchte, habe ich hier leider ein paar Probleme.
Darüber Hinaus soll die neue Spalte "Budget" mit einem SVERWEIS auf ein anderes Tabellenblatt "KERNDATEN" verweisen.
Die Zellenformel funktioniert bereits, jedoch habe ich Schwierigkeiten diese in VB zu "übersetzen".
Die Zellenformel lautet:
IF((ISNA(VLOOKUP(A5;KERNDATEN!H:J;3;FALSE)=TRUE));"";(VLOOKUP(A5;KERNDATEN!H:J;3;FALSE)))
Momentan sieht mein Makro zum Einfügen der neuen Spalte wie folgt aus:
Range("A4").Select 'Da Überschrift immer in der Zeile 4 steht
Selection.End(xlToRight).Select
Selection.Next.Select
ActiveCell.FormulaR1C1 = "Budget"
'nun möchte ich gerne den obigen SVERWEIS in die Spalte "Budget" einfügen. Um die maximale Zeilenanzahl rauszufinden, habe ich folgende Funktion genutzt:
Dim maxRows As Long
maxRows = Cells(Rows.Count, 1).End(xlUp).Row
'Ferner könnte ich mit folgenden Werten die aktuelle Position bestimmen:
Dim colcc, rowrr As Integer
colcc = Selection.Column
rowrr = Selection.Row
'Leider komme ich hier nicht weiter, denn mit
ActiveCell.FormulaR1C1 = "IF((ISNA(VLOOKUP(A5;KERNDATEN!H:J;3;FALSE)=TRUE));"";(VLOOKUP(A5;KERNDATEN!H:J;3;FALSE)))"
gibt es wie erwartet nen Haufen Fehlermeldungen. Ferner soll ja für die gesamte neue Spalte die Formel ausgefüllt werden.
Ich hoffe jemand versteht, was ich meine. Vielen Dank schon mal fürs Lesen.
Ich bin über jeden Tipp / Hinweis sehr dankbar.
Gruss,
Phil

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: SVERWEIS per Makro hinter Pivot-Tabelle
29.05.2006 18:30:26
Farnz
Hallo Phil,
folgender Code fügt unterhalb der Zelle mit dem Eintrag Budget die entsprechenden SVERWEIS-Formeln (VLOOKUP-Formeln) ein. Zu beachten ist, dass die Formel in VBA komplett in Englisch erstellt wird, Semikolons durch Komma ersetzt werden und Anführungszeichen (") in der Formel im VBA Code verdoppelt werden müssen. Da die Zellbezüge unter VBA in Zeilen/Spalten (R und C) dargestellt werden, erkennt man die Formel meist kaum wieder. Am besten ist die Formeleingabe per Makrorekorder aufzeichnen, dann stimmt schon mal die Syntax.

Sub Makro1()
Range("A4").Select 'Da Überschrift immer in der Zeile 4 steht
Selection.End(xlToRight).Select
Selection.Next.Select
ActiveCell.Value = "Budget"
maxRows = Cells(Rows.Count, 1).End(xlUp).Row
Range(ActiveCell.Offset(1, 0), ActiveCell.Offset(maxRows - ActiveCell.Row, 0)).FormulaR1C1 = _
"=IF(ISNA(VLOOKUP(RC1,KENNDATEN!C8:C10,3,FALSE)),"""",VLOOKUP(RC1,KENNDATEN!C8:C10,3,FALSE))"
End Sub

Gruß
Franz

Anzeige
AW: SVERWEIS per Makro hinter Pivot-Tabelle
29.05.2006 19:12:32
Phil
Super!
das hilft schon mal sehr.
habe das Makro wie von Dir beschrieben aufgezeichnet:
"=IF((ISNA(VLOOKUP(RC[-9],KERNDATEN!C[-2]:C,3,FALSE)=TRUE)),"""",(VLOOKUP(RC[-9],KERNDATEN!C[-2]:C,3,FALSE)))"
versuche mich nun daran den Teil ...(RC[-9]... mit Hilfe der oben beschriebenen Variablen "colcc" variabel zu gestalten, da die Pivot die Spaltenanzahl wöchentlich
ändert....
Gruss,
Phil

315 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige