Sabine
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...
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...
"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]
Sabine
"Ulrich Weigel" <MDILe...@easysixt.de> schrieb im Newsbeitrag
news:#PjBn840CHA.1764@TK2MSFTNGP10...
"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?
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.
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...