verbesserte Version
06.10.2008 17:29:00
Tino
Hallo,
hab noch etwas rumgespielt und persönlich finde ich es so besser.
Beim öffnen werden die Button auf die Standartfarbe gesetzt und die Datei gespeichert.
Somit entfällt beim schließen der Datei, wenn in dieser keine Aktion durchgeführt wurde dass lästige speichern der Datei.
Damit kann auch beim schließen, dass speichern ignoriert werden, z. Bsp. wenn man in der Datei einen Fehler macht und man möchte die Datei schließen ohne diese zu speichern um den Fehler wieder zu Rückgängig zu machen.
Zudem habe ich noch eingefügt, sobald eine Zelle ausgewählt wird, wird der rote Button wieder auf die Standartfarbe gesetzt.
Kommst Du damit zurecht?
Microsoft Excel Objekt DieseArbeitsmappe
Option Explicit
Dim Button() As New Klasse1
Private Sub Workbook_Open()
Dim i As Integer, A As Integer
With ThisWorkbook.Sheets("Tabelle1")
For A = 1 To .OLEObjects.Count
If TypeName(.OLEObjects(A).Object) = "CommandButton" Then
Redim Preserve Button(i)
Set Button(i).objButten = .OLEObjects(A).Object
.OLEObjects(A).Object.BackColor = &H8000000F
i = i + 1
End If
Next A
End With
ThisWorkbook.Save
End Sub
Microsoft Excel Objekt Tabelle1
Option Explicit
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not objMerkButten Is Nothing Then objMerkButten.BackColor = &H8000000F
End Sub
Modul Modul1
Option Explicit
Public objMerkButten As CommandButton
Klassenmodul Klasse1
Option Explicit
Public WithEvents objButten As CommandButton
Private Sub objButten_Click()
If Not objMerkButten Is Nothing Then objMerkButten.BackColor = &H8000000F
objButten.BackColor = &HFF&
Set objMerkButten = objButten
End Sub
Gruß Tino