Userform nur von Zellen der Spalte A aus starten
Betrifft: Userform nur von Zellen der Spalte A aus starten
von: Tom
Geschrieben am: 14.11.2014 11:23:15
Hallo zusammen,
ich hab eine userform, die durch Rechtsklick auf eine beliebige Zelle gestartet wird.
Jedoch kann die Zelle überall in meinem Tabellenblatt sein.
Ich möchte die userform nun so einschränken, dass sie nur von Zellen der Spalte A aus aufgerufen werden kann. Wie kann ich das realisieren?
Bisher sieht mein code für den Aufruf der userform so aus:
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
Call UserForm1.Show
Cancel = True
End Sub
Danke schon mal!
Gruß,
Tom
Betrifft: if Target.Column=1 then ... owT
von: Matthias L
Geschrieben am: 14.11.2014 11:25:21
Betrifft: AW: Userform nur von Zellen der Spalte A aus starten
von: Hajo_Zi
Geschrieben am: 14.11.2014 11:27:58
Hallo Tom,
ich benutze immer folgenden Ansatz.
Dim RaBereich As Range ' Variable für Bereich
Dim RaZelle As Range ' Variable für Zelle
Set RaBereich = Range("L22:M39, O21:O26") ' Bereich der Wirksamkeit
' noch mehr Bereiche
'Set RaBereich = Union(Range("C11:AG11 , C13:AG13, C15:AG15 , C17:AG17"), _
' Range("C35:AE35, C37:AE37, C43:AG43, C45:AG45 , C47:AG47 , C49:AG49"), _
' Range("C67:AF67 , C69:AF69 , C75:AG75 , C77:AG77 , C79:AG79 , C81:AG81"), _
' Range("C99:AF99 , C101:AF101, C107:AG107 , C109:AG109 , C111:AG111"), _
' Range("C127:AG127 , C129:AG129 , C131:AG131 , C133:AG133 , C139:AF139"), _
' Range("C155:AG155, C157:AG157 , C159:AG159 , C161:AG161 , C163:AG163"), _
' Range("C179:AF179 , C181:AF181, C187:AG187 , C189:AG189 , C191:AG191"))
' ab Vesion XP braucht der Schutz nicht aufgehoben werden
' Formatierung bei Schutz kann über Dialog Schutz eingestellt werden
' Zelle die in dem Bereich liegen auf die Variable schreiben
' damit werden nur noch die Zellen bearbeitet die im vorgegeben Bereich liegen
' jede Zelladresse ist einzeln angegeben
Set RaBereich = Intersect(RaBereich, Range(Target.Address))
If Not RaBereich Is Nothing Then

 |
Betrifft: Nachtrag ...
von: Matthias L
Geschrieben am: 14.11.2014 11:28:39
Hallo Tom
Damit das Kontexmenue in den anderen Spalten dann auch wieder funktioniert,
wäre es so sicher besser:
Option Explicit
Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)
If Target.Column = 1 Then
Cancel = True
Call UserForm1.Show
End If
End Sub
Gruß Matthias
Betrifft: AW: Nachtrag ...
von: Tom
Geschrieben am: 14.11.2014 11:36:14
Vielen Dank, funktioniert! :)
Die Sache mit dem Kontextmenü ist so beabsichtigt. Es soll grundsätzlich deaktiviert sein.
Viele Grüße,
Tom
Betrifft: Danke für die Rückmeldung ... owT
von: Matthias L
Geschrieben am: 14.11.2014 11:37:33
Beiträge aus den Excel-Beispielen zum Thema "Userform nur von Zellen der Spalte A aus starten"