# Excel: Zelle einfärben



## cocoon (13. Juli 2007)

Hallo zusammen,

wie kann ich eine Zelle in Excel einfärben, sofern ein bestimmter Radionbutton gesetzt wurde? Brauche ich dafür ein Makro?

Dank für Eure Hilfe.


----------



## DrSoong (13. Juli 2007)

Yep, würde so gehen:

```
'3 Optionsbuttons (opt1, opt2, opt3)
Private Sub opt1_Click()
 If opt1.Value = True Then
  Cells(1, 1).Interior.ColorIndex = 3
  Cells(1, 2).Interior.ColorIndex = xlNone
  Cells(1, 3).Interior.ColorIndex = xlNone
 End If
End Sub
Private Sub opt2_Click()
 If opt2.Value = True Then
  Cells(1, 1).Interior.ColorIndex = xlNone
  Cells(1, 2).Interior.ColorIndex = 3
  Cells(1, 3).Interior.ColorIndex = xlNone
 End If
End Sub
Private Sub opt3_Click()
 If opt3.Value = True Then
  Cells(1, 1).Interior.ColorIndex = xlNone
  Cells(1, 2).Interior.ColorIndex = xlNone
  Cells(1, 3).Interior.ColorIndex = 3
 End If
End Sub
```
Damit wird für einen gewählten Radiobutton ein Feld (hier rot) eingefärbt, die anderen nicht.


Der Doc!


----------



## cocoon (14. Juli 2007)

Hallo Dr Soong,

danke für Deine Antwort.

Auf die selbe Weise habe ich es schon versucht, ich bekomme immer die Fehlermeldung "Objekt erforderlich".  Womöglich liegt es daran, dass ich auf Excel 2000 arbeite? Ebenfalls habe ich schon versucht


```
If ActiveSheet.Shapes("Option Button 3").Value = xlOn Then
...
```

Fehlermeldung: "Objekt unterstüzt Eigenschaft nicht."

Ich bin kein Programmierneuling, ebenfalls kenne ich mich gut mit OOP aus. Insofern sind mir die Fehlermeldung kein Latein, ich verstehe durchaus, was man mir damit sagen will. Nur nachvollziehen kann ich es nicht.

Insbesondere funktioniert, im Gegensatz zu oben, das folgende:


```
ActiveSheet.Shapes("Option Button 3").Select
With Selection
   .Value = xlOn
End With
```

Wie passt das zusammen?

Darüber hinaus eine grundsätzliche Frage: Wie finde ich den Namen des Radiobuttons (hier "Option Button 3") raus? Über Rechtsklich>Eigenschaften lässt sich nichts finden.


----------



## DrSoong (15. Juli 2007)

Erst mal, darf der Name eines Steuerelements keine Leerzeichen erhalten, vielleicht liegt da der Fehler (zumindest bei _Shapes("Option Button 3")_).

Ansonsten probiers auf die herkömmliche Methode, zeichne ein Makro auf und änder die Zellenfarbe. Dann siehst du, obs an eventuell alten Befehlen liegt (kann ich mir aber nicht vorstellen).


Der Doc!


----------



## cocoon (16. Juli 2007)

DrSoong hat gesagt.:


> Erst mal, darf der Name eines Steuerelements keine Leerzeichen erhalten (...) zeichne ein Makro auf


Wie gesagt: Das Makro zeichnet mir den oben gezeigten Code auf - mit Leerzeichen. Wieso funktioniert es im Makro mit Leerzeichen? Wieso funktioniert im Makro der With-Block, aber nicht mehr, wenn ich es aus den Anweisungen des With-Blockes normale Anweisungen baue?

Wo kann ich denn den Namen des Steuerelements sonst ablesen? Rechtsklick>Eigenschaften zeigt keinen Namen an.

VBA treibt mich in den Wahnsinn. ;-)


----------



## DrSoong (16. Juli 2007)

Häng doch mal so eine Datei als Anhand dran, dann kann ich mir das mal ansehen.


Der Doc!


----------



## cocoon (20. Juli 2007)

Habe Dir mal ein Beispiel angehangen. Es sind zwei Gruppen mit Radio-Buttons vorhanden: Wird in der ersten Gruppe der letzte Button ausgewählt, soll auch in der zweiten Gruppe beim letzten Button automatisch das Häckchen gesetzt werden.

Vielleicht bekommst Du es ja hin...


----------

