Excel Aktive Zelle auslesen VBA?
Ich habe eine Tabelle in Excel erstellt. Nun ist dort ein Button, der auf Knopfdruck ein Makro ausführt, das, wenn die aktuelle entweder B2 oder C6 oder D10 ist, in diese Zelle eine 5 einträgt. Wie kann ich das mit einer If-Anweisung umsetzen (mithilfe von Or-Operatoren)?
Also ich meine so in die Richtung
If ActiveCell = B2 Or C6 Or D10 Then
Active Cell.Value = 5
Else
MsgBox("Das Argument ("5") ist nicht mit der aktuellen Zelle kompatibel.")
End If
Nur dass das oben nie funktioniert, weil ich nicht weiß, wie ich mehrere Zellen als richtig ansehen lassen kann.
Kann mir jemand das richtige Makro zeigen?
2 Antworten
Hi,
Das geht zum Beispiel so, wobei nicht getestet wird, ob gerade mehrere Zellen ausgewählt wurden. Könnte man aber auch noch machen.
Sub Test()
Select Case ActiveCell.Address
Case "$B$2", "$C$6", "$D$10"
ActiveCell.Value = 5
Case Else
MsgBox("Das Argument (5) ist nicht mit der aktuellen Zelle kompatibel.")
End Select
End Sub
Achtung: Die 5 nicht in Anführungszeichen! Sonst müsste man den String anders zusammensetzen.
Klappt es?
Hannes
Auch mehrere aktive Zellen (Mehrere Markiert) lassen sich auslesen.
Allerdings nicht so, wie du es versucht hast. Wenn mehrere Zellen markiert sind muss man nach dem "Range" schauen.
Wenn z.B A1 bis A5 gleichzeitig markiert ist dann ist Range.address = "$A$1:$A$5"
Auch beliebig gewählte Zellen sind möglich.
"$A$1,$B$5,$C$2" etc etc.
Hat geklappt, zumindest ist mir bis jetzt noch kein Fehler aufgefallen :)
Dankeschön!