Forums Neueste Beiträge
 

Namen variabel festlegen in Excel97

02/08/2009 - 13:48 von E.Wöger | Report spam
Hallo NG,
ich habe mit dem Macro-Recorder ein Macro aufgezeichnet, das in einer
zunàchst ungeordneten Tabelle die Zeilen nach Sortierkriterien in Gruppen
ordnet und der Summe jeder Gruppe einen Namen zuordnet. Dieser wird dann an
anderer Stelle weiter verwendet.
Die Zelle, in der diese Summe (Zwischensumme) dann steht, ist aber - z.B. im
nàchsten Jahr - nicht immer an der gleichen Stelle. Dann stimmt die
Zuordnung des Namens nicht mehr.
Als Beispiel hier ein Ausschnitt des Macros.
in der letzten Zeile steht am Ende die feste Zuordnung, hier z.B. R17C10.

Wie müsste diese Zeile heißen, damit der Namen immer der gerade activen
Summenzelle (in der vorletzten Zeile) zugeordnet wird ?

Bin für jeden Rat dankbar.

Erich Wöger



Macro-Ausschnitt :
'
Cells.Find(What:="gz", After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext,
MatchCase:=False) _
.Activate
ActiveCell.Offset(0, 8).Range("A1").Select
Selection.Borders(xlDiagonalDown).LineStyle = xlNone
Selection.Borders(xlDiagonalUp).LineStyle = xlNone
With Selection.Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With Selection.Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
Selection.Borders(xlEdgeBottom).LineStyle = xlNone
With Selection.Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
ActiveCell.FormulaR1C1 = "=SUM(R[-4]C:R[-1]C)"
ActiveWorkbook.Names.Add Name:="ZwSu_gz", RefersToR1C1:="=n.Art!R17C10"
 

Lesen sie die antworten

#1 Andreas Killer
02/08/2009 - 14:10 | Warnen spam
E.Wöger schrieb:

Die Zelle, in der diese Summe (Zwischensumme) dann steht, ist aber -
z.B. im nàchsten Jahr - nicht immer an der gleichen Stelle. Dann stimmt
die Zuordnung des Namens nicht mehr.
Als Beispiel hier ein Ausschnitt des Macros.


Für's nàchste Mal: Makro's immer komplett posten, das hilft Dir und
auch uns.

in der letzten Zeile steht am Ende die feste Zuordnung, hier z.B. R17C10.
Wie müsste diese Zeile heißen, damit der Namen immer der gerade activen
Summenzelle (in der vorletzten Zeile) zugeordnet wird ?


Weise dem Namen einfach die Adresse dieser Zelle zu.

Andreas.


Sub Test()
Dim C As Range
'Suche die Zelle
Set C = Cells.Find(What:="gz", After:=ActiveCell, LookIn:= _
xlFormulas, LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False)
'Gefunden?
If C Is Nothing Then Exit Sub
'Die Zelle 8 Spalten weiter
With C.Offset(0, 8)
'Rahmen setzen
.Borders(xlDiagonalDown).LineStyle = xlNone
.Borders(xlDiagonalUp).LineStyle = xlNone
With .Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
With .Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
.Borders(xlEdgeBottom).LineStyle = xlNone
With .Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Weight = xlThin
.ColorIndex = xlAutomatic
End With
.FormulaR1C1 = "=SUM(R[-4]C:R[-1]C)"
ActiveWorkbook.Names.Add Name:="ZwSu_gz", RefersTo:=.Address
End With
End Sub

Ähnliche fragen