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."