Ich möchte das ein Makro ausgeführt wird wenn ich in einem bestimmten Bereich Enter drücke.
Wer weiß Rat?
Danke im voraus!
Gruß
Christoph
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.OnKey "{RETURN}", "lets_go"
End Sub
Um ein Makro auszuführen, wenn Du die Enter-Taste in Excel drückst, kannst Du VBA (Visual Basic for Applications) verwenden. Hier ist eine einfache Anleitung, um dies zu erreichen:
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu öffnen.
Wähle im Projekt-Explorer das Arbeitsblatt aus, für das Du das Makro erstellen möchtest.
Füge den folgenden Code in das entsprechende Tabellenmodul ein:
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Me.Range("A1:A10")) Is Nothing Then
Call lets_go
End If
End Sub
Erstelle jetzt ein Standardmodul, indem Du im Menü auf Einfügen
> Modul
klickst.
Füge in das Modul den folgenden Code ein:
Sub lets_go()
MsgBox ("Hallo, Du hast Enter gedrückt!")
End Sub
Schließe den VBA-Editor und teste das Makro, indem Du einen Wert in den Bereich A1:A10 eingibst und Enter drückst.
Fehler: Das Makro wird nicht ausgeführt.
Worksheet_Change
Event muss im entsprechenden Tabellenmodul sein.Fehler: Die Meldung erscheint nicht.
Intersect
-Funktion definiert ist.Eine alternative Methode, um ein Makro auszuführen, wenn Du die Enter-Taste drückst, ist die Verwendung der Application.OnKey
Methode. Hier ist, wie Du das umsetzen kannst:
Füge in das Tabellenmodul den folgenden Code ein:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.OnKey "{RETURN}", "lets_go"
End Sub
Das Standardmodul bleibt gleich mit dem vorherigen lets_go
Sub.
Diese Methode erlaubt es Dir, die Enter-Taste für spezifische Aktionen zu belegen, wie das Ausführen eines Makros.
Ein praktisches Beispiel könnte sein, wenn Du eine Liste von Aufgaben hast und Du eine Nachricht erhalten möchtest, wenn Du eine Aufgabe als erledigt markierst.
Worksheet_Change
Event, um das Makro auszuführen, wenn Du die Aufgabe änderst.Das Makro könnte so aussehen:
Sub lets_go()
MsgBox ("Aufgabe erledigt!")
End Sub
Select Case
, um verschiedene Aktionen für unterschiedliche Eingaben zu definieren.1. Kann ich das Makro auch für andere Tasten verwenden?
Ja, Du kannst Application.OnKey
nutzen, um andere Tasten zu programmieren. Ersetze einfach "{RETURN}"
durch die gewünschte Taste.
2. Funktioniert das auch in Excel Online?
Leider funktioniert VBA nur in den Desktop-Versionen von Excel. In Excel Online sind Makros nicht verfügbar.
3. Wie kann ich das Makro deaktivieren?
Um das Makro zu deaktivieren, kannst Du den Code einfach aus dem Modul löschen oder die Application.OnKey
Zeile kommentieren.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen