Sudoku Kontexmenü-Rechts [evtl. Hajo]
08.08.2008 21:58:35
Matthias
(Level bitte nicht ganz so ernst nehmen)
Folgendes:
In Diese Arbeitsmappe
Option Explicit 'nach einer Idee von Hajo Ziplies 'https://www.herber.de/forum/ _ archiv/972to976/t972675.htm Private Sub Workbook_BeforeClose(Cancel As Boolean) KontextmenueZuruecksetzen End Sub Private Sub Workbook_Open() KontextmenueErgaenzen End Sub
Ich möchte erreichen, das wenn ich die rechte Maustaste drücke um das Kontexmenü zu öffnen, das nur die noch möglichen Zahlen erscheinen.
Beim Klick in die Zelle mit der linken Maustaste habe ich es über Daten Gültigkeit gelöst.
siehe Bild
Nun möchte ich gern einen ähnlichen Effekt erzielen wenn ich die rechte Maustaste drücke.
in einem Modul nun folgender Code von Hajo
an meine Vorhaben angepasst
Option Explicit
'nach einer Idee von Hajo Ziplies
https://www.herber.de/forum/archiv/972to976/t972675.htm
Sub KontextmenueErgaenzen()
Dim oBtn As CommandBarButton
Dim InI As Integer
For InI = Application.CommandBars("Cell").Controls.Count To 1 Step -1
Application.CommandBars("Cell").Controls(1).Delete
Next InI
Set oBtn = Application.CommandBars("Cell").Controls.Add
With oBtn
.Caption = "1" ' Beschriftung
.OnAction = "Eins" ' Aktion
End With
Set oBtn = Application.CommandBars("Cell").Controls.Add
With oBtn
.Caption = "2" ' Beschriftung
.OnAction = "Zwei" ' Aktion
End With
Set oBtn = Application.CommandBars("Cell").Controls.Add
With oBtn
.Caption = "3" ' Beschriftung
.OnAction = "Drei" ' Aktion
End With
Set oBtn = Application.CommandBars("Cell").Controls.Add
With oBtn
.Caption = "4" ' Beschriftung
.OnAction = "Vier" ' Aktion
End With
Set oBtn = Application.CommandBars("Cell").Controls.Add
With oBtn
.Caption = "5" ' Beschriftung
.OnAction = "Fünf" ' Aktion
End With
Set oBtn = Application.CommandBars("Cell").Controls.Add
With oBtn
.Caption = "6" ' Beschriftung
.OnAction = "Sechs" ' Aktion
End With
Set oBtn = Application.CommandBars("Cell").Controls.Add
With oBtn
.Caption = "7" ' Beschriftung
.OnAction = "Sieben" ' Aktion
End With
Set oBtn = Application.CommandBars("Cell").Controls.Add
With oBtn
.Caption = "8" ' Beschriftung
.OnAction = "Acht" ' Aktion
End With
Set oBtn = Application.CommandBars("Cell").Controls.Add
With oBtn
.Caption = "9" ' Beschriftung
.OnAction = "Neun" ' Aktion
End With
End Sub
Sub Eins()
ActiveCell.Value = 1
End Sub
Sub Zwei()
ActiveCell.Value = 2
End Sub
Sub Drei()
ActiveCell.Value = 3
End Sub
Sub Vier()
ActiveCell.Value = 4
End Sub
Sub Fünf()
ActiveCell.Value = 5
End Sub
Sub Sechs()
ActiveCell.Value = 6
End Sub
Sub Sieben()
ActiveCell.Value = 7
End Sub
Sub Acht()
ActiveCell.Value = 8
End Sub
Sub Neun()
ActiveCell.Value = 9
End Sub
Sub KontextmenueZuruecksetzen()
On Error Resume Next
Application.CommandBars("Cell").Reset
End Sub
Bild2:
Wenn ich nun mit der rechten Maustaste eine Zahl wähle z.B. die Zahl 4 (in Worten "Vier")
diese dadurch in die Zelle geschrieben wird, so möchte ich beim erneutem Rechtsklick auf eine leere
Zelle in dieser Zeile, das diese Zahlen im Kontexmenue nicht mehr erscheinen
(so wie beim LinksKlick im oberen Bild.)
Kann mir bitte mal jemand das Brett vom Kopf wegnehmen ;o)
Besten Dank schon mal im Vorraus.
MfG Matthias L