Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Makro nach ENTER

535 views
Skip to first unread message

Biene

unread,
Feb 13, 2003, 1:28:58 PM2/13/03
to
Hallo NG,
ich möchte ein Makro nach drücken der Enter-Taste ablaufen lassen. Geht das?

Sabine


Ulrich Weigel

unread,
Feb 13, 2003, 1:39:10 PM2/13/03
to
Moin,
Ja!

ALT F11 in den VBA Editor wechseln
ein Modul einfügen

In das Modul folgendes Schreiben, alternative geht auch das Open Ereignis
unter DieseArbeitsmappe

Modul:

Sub Auto_Open()
Application.OnKey "{EINGABE}", "NAECHSTE" 'Zifferblock
Application.OnKey "~", "NAECHSTE" 'die Return
Taste
End Sub

DieseArbeitsmappe:

Private Sub Workbook_Open()
Application.OnKey "{EINGABE}", "NAECHSTE" 'Zifferblock
Application.OnKey "~", "NAECHSTE" 'die Return
Taste
End Sub


Mail to MDLLe...@aol.com
WinXP
OfficeXP
u.v.a.

Rechtschreibfehler sind gewollt und dienen der Belustigung des Lesers
"Biene" <Saj...@web.de> schrieb im Newsbeitrag
news:b2go5n$7cl$07$1...@news.t-online.com...

Hajo

unread,
Feb 13, 2003, 1:41:52 PM2/13/03
to
Hallo Sabine

Die Aktion Private Sub Worksheet_Change(ByVal Target As Range) wird nach
Zelländerung und Enter ausgeführt.

Gruß Hajo

"Biene" <Saj...@web.de> schrieb im Newsbeitrag
news:b2go5n$7cl$07$1...@news.t-online.com...

Melanie Breden

unread,
Feb 13, 2003, 2:39:47 PM2/13/03
to
Hallo Hajo,


"Hajo" schrieb:

> Die Aktion Private Sub Worksheet_Change(ByVal Target As Range) wird nach
> Zelländerung und Enter ausgeführt.

dieses Ereignis wird nach jeder Zelländerung angestossen.
Wie man die Zelle verlässt spielt dabei keine Rolle:
Enter, Pfeiltasten, mit Maus andere Zelle markieren, oder Änderung mit VBA.

mit Gruß
Melanie

____________________
Melanie Breden
[Microsoft MVP für Excel]

Biene

unread,
Feb 14, 2003, 9:52:22 AM2/14/03
to
funktioniert prima, für ein Makro.
ich hab da dann och ein zweites Problem.
Aus 4 Zellen heraus sollen 4 unterschiedliche Makos auf die Weise gestartet
werden, ist das auch noch machbar?

Sabine

"Ulrich Weigel" <MDILe...@easysixt.de> schrieb im Newsbeitrag
news:#PjBn840CHA.1764@TK2MSFTNGP10...

Melanie Breden

unread,
Feb 14, 2003, 2:26:48 PM2/14/03
to
Hallo Sabine,

"Biene" schrieb:


> funktioniert prima, für ein Makro.
> ich hab da dann och ein zweites Problem.
> Aus 4 Zellen heraus sollen 4 unterschiedliche Makos auf die Weise gestartet
> werden, ist das auch noch machbar?

wenn ich dich richtig verstanden habe, willst du nach einem <Enter-Klick>
je nach Zelladresse verschiedene Makros starten?

Ich habe das Beispiel von Ulrich übenommen und das Makro "NAECHSTE",
welches bei <Enter> aufgerufen wird ausgebaut:

In dem Makro werden 4 Zelladressen überwacht. (A1:D1).
Die Select...Case-Schleife kannst du beliebig erweitern und die Zelladressen natürlich anpassen:
Die Makros gehören in ein allgemeines Modul:

Sub NAECHSTE()
Select Case (ActiveCell.Address(0, 0))
Case Is = "A1"
Makro1
Case Is = "B1"
Makro2
Case Is = "C1"
Makro3
Case Is = "D1"
Makro4
Case Else
Exit Sub
End Select
End Sub

Sub Makro1()
MsgBox "hier kommt Makro1"
End Sub
Sub Makro2()
MsgBox "hier kommt Makro2"
End Sub
Sub Makro3()
MsgBox "hier kommt Makro3"
End Sub
Sub Makro4()
MsgBox "hier kommt Makro4"
End Sub


Hilft dir das weiter?

Melanie Breden

unread,
Feb 14, 2003, 2:41:04 PM2/14/03
to
Hallo Sabine,

noch ein Nachtrag:

damit die Enter Taste nur in der gewünschten Datei zweckentfremdet wird, musst du
statt der Workbook_Open-Prozedur folgende Ereignisprozeduren in "DieseArbeitsmappe" hinterlegen :

Private Sub Workbook_Activate()


Application.OnKey "{EINGABE}", "NAECHSTE" 'Zifferblock
Application.OnKey "~", "NAECHSTE" 'die Return Taste
End Sub

Private Sub Workbook_Deactivate()
Application.OnKey "{EINGABE}", "" 'Zifferblock
Application.OnKey "~", "" 'die Return Taste
End Sub

Beim Öffnen der Datei sowie beim Aktivieren (nach einem Wechsel aus einer anderen geöffneten Datei)
wird der Enter-Taste das Makro "NÄECHSTE" zugewiesen.

Beim Deaktivieren und Schliessen der Datei wird die Enter-Taste wieder zurückgesetzt.

Ansonsten werden die Makros in allen geöffneten Dateien angewandt.

Melanie Breden

unread,
Feb 14, 2003, 4:44:18 PM2/14/03
to
Hallo Sabine,

Korrektur:

das Zurücksetzen der Makros muss so lauten:

Private Sub Workbook_Deactivate()
Application.OnKey "{EINGABE}" 'Zifferblock
Application.OnKey "~" 'die Return Taste
End Sub

mit Gruß
Melanie

____________________
Melanie Breden
[Microsoft MVP für Excel]

"Melanie Breden" <Mel...@NOSPAMm-breden.de> schrieb im Newsbeitrag news:OueHJEG1CHA.1936@TK2MSFTNGP10...

0 new messages