Doppeklick auf Zellen oder Bereiche beschränken.

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
MsgBox
Bild

Betrifft: Doppeklick auf Zellen oder Bereiche beschränken.
von: Horst
Geschrieben am: 22.03.2005 16:18:35
Hallo liebe VBA-Gemeinde,
mit Application.Doppelklick = "Name" kann man den Doppelklick einer anderen Funktion zuordnen (statt der direkten Zellbearbeitung).
Nun meine Frage:
Kann man das auch auf eine bestimmte Zelle oder Bereich beschränken ?
Schwierige Frage, oooderrrr ? Falls nicht, gibt es einen "Workaround" ?
Gruß,
Horst

Bild

Betrifft: AW: Doppeklick auf Zellen oder Bereiche beschränken.
von: ransi
Geschrieben am: 22.03.2005 16:53:07
hallo horst
schau mal ob du hiermit was anfangen kannst.
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(ActiveCell, Range("a1:b10")) Is Nothing Then Exit Sub
Cancel = True
Call makro
End Sub


Public Sub makro()
MsgBox "Ich bin ein Makro"
End Sub
der code muss in ein tabellenblatt. Nicht in ein modul.
ransi
Bild

Betrifft: AW: Doppeklick auf Zellen oder Bereiche beschränke
von: Horst
Geschrieben am: 22.03.2005 17:50:47
Hallo Ransi, (cc. Boris)
schön, dass Du mir wieder antwortest.
Was meinst Du mit: "der code muss in ein tabellenblatt. Nicht in ein modul."
In meiner ersten selbst ausgetüftelten Version hatte ich den ersten Teil des Codes:
"Application.OnDoubleClick = "Get_Chart" ... usw " als Event-Trigger in "Tabelle1"
und das aufzurufende Sub in "Modul1". Das hat funktioniert, allerdings für alle Zellen.
Wenn ich jetzt Dein:
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Intersect(ActiveCell, Range("a1:b10")) Is Nothing Then Exit Sub
Cancel = True
Call Get_Chart
End Sub

in "Tabell1" lege, und meine Call-Prozedur in "Modul1" belasse, dann reagiert VBA nicht.
Ähnlich geht es mir mit dem Vorschlag von Dir, Boris. Deinen Code habe ich allerdings in "Klassenmodul1" kopiert und meine Call-Prozedur wieder in "Modul1".
Beide Varianten erzeugen keine Reaktion beim Doppelklick auf eine Zelle in dem angegebenen Bereich, statt dessen wird die Zellbearbeitung aktiviert.
Was kann ich falsch gemacht haben ?
Horst
Bild

Betrifft: AW: Doppeklick auf Zellen oder Bereiche beschränke
von: Boris
Geschrieben am: 22.03.2005 18:01:18
Hi Horst,
Ähnlich geht es mir mit dem Vorschlag von Dir, Boris. Deinen Code habe ich allerdings in "Klassenmodul1" kopiert und meine Call-Prozedur wieder in "Modul1".
Letzteres (Modul1) ist korrekt, das "Klassenmodul1" wiederum nicht.
Links im Projektexplorer findest du deine Arbeitsmappe - und zudem die Namen der vorhandenen Tabellenblätter.
Doppelklick auf DAS Tabellenblatt, in dem der Code laufen soll. Und diese Tabellenblätter nennt man eben auch "Klassenmodule".
Grüße Boris
Bild

Betrifft: AW: Doppeklick auf Zellen oder Bereiche beschränke
von: Horst
Geschrieben am: 22.03.2005 18:22:36
Hallo Ihr Beiden,
das kommt davon, wenn man keine Ahnung hat ! Jetzt habe ich eine Version für Sonntags und eine für die Woche (hihi). Beide laufen perfekt.
Vielen Dank für Eure prompte Hilfe (bis zur nächsten Hürde).
Gruß,
Horst
Bild

Betrifft: AW: Doppeklick auf Zellen oder Bereiche beschränken.
von: Boris
Geschrieben am: 22.03.2005 17:00:26
Hi Horst,
im Klassenmodul der entsprechenden Tabelle:
Option Explicit

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim str As String
str = "A1,C1:C10,E5,F1:G5" 'Bereiche, für die sonst_was aufgerufen werden soll
Cancel = Not Intersect(Target, Range(str)) Is Nothing
If Cancel Then Call sonst_was 'sonst_was ist irgendeine Sub
End Sub

Grüße Boris
 Bild

Beiträge aus den Excel-Beispielen zum Thema "Doppeklick auf Zellen oder Bereiche beschränken."