Hallo,
ich versuche aktuell, in VBA einen Namen zu definieren, der auf einen dynamischen Bereich verweist. Das Ganze funktioniert auch fast, allerdings wird der Name erzeugt, in "Bezieht sich auf" taucht allerdings z.B. ="OFFSET(Settings!$Q$1,1,0,COUNTIF(Settings!$Q:$Q)-1,1)" in Anführungszeichen auf, statt ohne. Dadurch kann ich nicht auf den Bereich referenzieren. Das Problem liegt vermutlich daran, dass ich mir für RefersTo einen String bastele, den VBA dann mit Anführungszeichen weitergibt. Ich konnte diesen allerdings nicht konvertieren. Im Internet finden sich praktisch nur einfachere Beispiele, bei denen der Bereich nicht aus mehreren Teilen zusammengesetzt ist. Zum Teil wird vorgeschlagen, "=" an den Anfang zu setzen, das gibt bei mir aber nur einen Fehler.
Kann mir jemand sagen, wie ich den benannten Bereich nutzbar mache (ohne Anführungszeichen)?
Die Dim's habe ich nicht mit in den folgenden Code kopiert.
[code]
Set rng = Cells(1, Range("A1").End(xlToRight).Column)
For Each cl In rng
strHdrName = Replace(cl.Value, " ", "_", 1)
strAddr = Split(cl.Address, "$")
strCol = "$" & strAddr(1) & ":$" & strAddr(1)
Set rng2 = sht.Range(cl, cl.End(xlDown))
arear = "BEREICH.VERSCHIEBEN(Settings!" & cl.Address & ";1;0;ANZAHL2(Settings!" & strCol & ")-1;1)"
Sheets("Settings").Names.Add Name:=strHdrName, RefersTo:=arear
[/code]
Vielen Dank! |