AW: Bezüge dynamisch anpassen
23.10.2006 11:39:03
Daniel
Hallo
ich fürchte, dann werden die Formeln sehr komplex.
probier mal diese kleine Public Function.
Sie sollte eigentlich genau das liefern, was du brauchst:
Public
Function Pivot_Index(rngTAB As Range, Suchbegr As String, SPvon As Long, Optional SPbis As Long = -1)
Dim Start As Long, Ende As Long
Start = WorksheetFunction.Match(Suchbegr, rngTAB.Columns(1), 0)
Ende = Start + Range(rngTAB.Cells(Start, 1), rngTAB.Cells(Start, 1).End(xlDown)).Cells.Count - 2
If rngTAB.Cells(Start + 1, 1).Value <> "" Then Ende = Start
If SPbis = -1 Or SPbis > rngTAB.Columns.Count Then SPbis = rngTAB.Columns.Count
Pivot_Index = Range(rngTAB.Cells(Start, SPvon), rngTAB.Cells(Ende, SPbis))
End Function
zurückgegeben wird ein Zellbereich, der in der Zeile beginnt, in der der Suchbegriff das erste mal auftaucht und soweit reicht, wie sich unter dem suchbegriff leere Zellen befinden.
Eingabe-Parameter:
rngTAB - ist der gesamte Zellbereich der Pivot-Tabelle
Suchbeg - ist das Kriterium, das du auswerten willst. es muß innerhalb von rngTAB in der ersten Spalte stehen.
SPvon - ist die Startspalte für den zurückgegebenen Zellbereich
SPbis - ist die Letzte Spalte des zurückgegeben Zellbereichs. wird SPbis nicht angegben, wird die letzte Spalte von rngTAB genommen
Gruß, Daniel