AW: Text in Zelle nach 8 Schaltflächen ROT
25.10.2012 17:49:35
Beverly
Hi Dieter,
deklariere außerhalb des Moduls eine Public-Variable zum Zählen - z.B. Public bytZaehler As Byte. Ergänze dann die eintelnen Case-Anweisungen wie folgt (Beispiel für Schalter "1 > 2":
Case "1 > 2"
If ActiveSheet.Shapes("Schaltfläche 33").DrawingObject.Font.ColorIndex 3 Then
If .DrawingObject.Font.ColorIndex 3 Then
With ActiveSheet.Shapes.AddLine(56.25, 132.75, 56.25, 183.75)
.Line.EndArrowheadStyle = msoArrowheadTriangle
.Line.EndArrowheadLength = msoArrowheadLengthMedium
.Line.EndArrowheadWidth = msoArrowheadWidthMedium
.Flip msoFlipVertical
End With
.DrawingObject.Font.ColorIndex = 3
bytZaehler = bytZaehler + 1
If bytZaehler = 8 Then Auflisten
End If
Else
MsgBox "Es gibt bereits einen Pfeil 2 > 1"
End If
und füge eine neue Prozedur ein:
Sub Auflisten()
Dim lngZeile As Long
Dim btnElement As Button
Dim intSpalte As Integer
intSpalte = 2
lngZeile = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count) _
+ 1
If lngZeile ") > 0 Then
If btnElement.Font.ColorIndex = 3 Then
Cells(lngZeile, intSpalte) = btnElement.Caption
intSpalte = intSpalte + 1
End If
End If
Next btnElement
Else
MsgBox "Keine weiteren Varianten möglich"
End If
Range("B2") = "Fertig"
bytZaehler = 0
End Sub
Die Prozedur zum Löschen der Pfeile ergänzt du noch um diese Zeile:
Range("B2").ClearContents