target.address/target.name
02.02.2007 12:49:07
Jörg
ich möchte (in Abhängigkeit von der eingestellten Auswahl in einem Dropdown) durch die manuelle Eingabe in einer Zelle verschiedene Berechnungen auslösen. Alle Zellen sind benannt, alle Berechnungen laufen auch. Einziges Problem: Target akzeptiert irgendwie den Zellnamen nicht.
Wenn ich diesen Code ablaufen lasse
If Target.Address = "$F$36" Then 'das ist die Eingabezelle [Name5]
If [Name0] = 1 Then '[Name0] ist die Dropdown-Bezugszelle
[Name1] = 0
[Name2] = [Name5]
[Name3] = [Name5]
[Name4] = 0
ElseIf [Name0] = 2 Then
[Name1] = [Name5] - 0.3
[Name2] = [Name5] - 0.2
[Name3] = [Name5]
[Name4] = 0
ElseIf [Name0] = 3 Then
..... usw....
funktioniert er einwandfrei. Leider stimmt er nicht mehr, wenn ich die Tabelle verändere, z.B. davor eine Zeile einschiebe (gibt es da evtl. einen Kniff?)
Um das zu umgehen, möchte ich statt der Koordinate ebenfalls den Zellnamen einsetzen und schreibe:
If Target.Name= [Name5] Then
If [Name0] = 1 Then
[Name1] = 0
[Name2] = [Name5]
[Name3] = [Name5]
[Name4] = 0
ElseIf [Name0] = 2 Then
[Name1] = [Name5] - 0.3
[Name2] = [Name5] - 0.2
[Name3] = [Name5]
[Name4] = 0
ElseIf [Name0] = 3 Then
..... usw....
wird er nicht mehr ausgeführt - egal, in welcher Art und Weise ich versuche, den Namen zu schreiben.
Warum ist das so, bzw. was mache ich falsch?
(Anmerkung: Ich wurde schon verschiedentlich gefragt, wie ich auf die Schreibweise mit den eckigen Klammern käme - das steht in der VBA-Hilfe unter "Verweis auf Zellen in Kurzschreibweise").
Danke für die Hilfe
Jörg