Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Makro durch Enter starten

Makro durch Enter starten
07.12.2004 15:28:57
Jens
Hallo zusammen,
kann mir jemand erklären, wie ich ein Makro über die Taste Enter starten kann? Zudem sollte das Makro nur dann ausgeführt werden wenn ich in einer bestimmten Zelle stehe, bzw. in einer bestimmten Spalte. Sonst würde sich das Makro ja jedesmal starten wenn Enter betätigt wird. Und das sollte nicht passieren.
Anzeige

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro durch Enter starten
Michael
Wenn Die betreffende Zelle "F4" ist, und Excel so eingestellt ist, daß die Entertaste die Markierung nach unten bewegt, dann passt folgendes Makro:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
if target.address="$F$5" then call makro
End Sub

Anzeige
AW: Makro durch Enter starten
07.12.2004 16:22:03
Jens
Hallo,
Danke für die schnelle antwort.
Aber ich denke meine Vorstellungen sind etwas komplizierter!
Ich habe hier eine Datei angehängt, ich hoffe man kann sie öffnen, die mein vorhaben hoffentlich etwas besser erklärt.
Zusätzlich hier noch der bereit vorhandene Cuellcode: (allerdings nicht von mir erstellt)
Option Explicit

Sub GuardusMWAus()
Dim SN As String
Dim Trenn As String
Dim Pos As Range
Dim GFname As String
Dim GPath As String
Dim FContent As String
Trenn = ";"
Set Pos = Application.ActiveCell
FContent = Trenn & Format(Cells(Pos.Row, 5).Value, "YYYYMMDD")     'datum
FContent = FContent & Format(Cells(Pos.Row, 6).Value, "HHMMSS") 'uhrzeit
FContent = FContent & Trenn & Cells(Pos.Row, 1).Value 'Messwert1 Spannung Messrichtung
FContent = FContent & Trenn & Cells(Pos.Row, 2).Value 'Messwert2 Spannung Gegenrichtung
FContent = FContent & Trenn & Cells(Pos.Row, 9).Value 'Messwert3 Differenz
FContent = FContent & Trenn
SN = Cells(Pos.Row, 7).Value
FContent = Replace(FContent, ",", ".")
GFname = "RW" & SN & ".txt"
GPath = "c:\GMesswert\"
Open GPath & GFname For Output As #1
Print #1, FContent
Close #1
'Ausgeführte Zeile formatieren
Range("A2:I2").Select
Range("I2").Activate
With Selection.Interior
.ColorIndex = 50
.Pattern = xlSolid
End With
Selection.Font.Bold = True
Range("J3").Select
End Sub

Anzeige
AW: Makro durch Enter starten (mit Bild)
07.12.2004 16:25:10
Jens
Hier nun wie versprochen, das Bild
Userbild
AW: Makro durch Enter starten (mit Bild)
Piet
Es ist grundsätzlich keine gute Idee, eine Standardfunktion, die in Excel gebraucht wird, umzubiegen. Es gibt doch genug andere Ereignisse, ein Makro zu starten, z.B. Rightclick oder Doubleclick.
Piet
Anzeige
AW: Makro durch Enter starten (mit Bild)
07.12.2004 21:48:39
Jens
Kann ich gut verstehen,
dennoch sollte ich wissen wie so etwas funktioniert.
AW: Makro durch Enter starten (mit Bild)
Piet
Application.OnKey "{ENTER}","DeinMakro"
Piet
;
Anzeige
Anzeige

Infobox / Tutorial

Makro über die Enter-Taste in Excel starten


Schritt-für-Schritt-Anleitung

Um ein Makro in Excel über die Enter-Taste zu starten, folge diesen Schritten:

  1. Öffne den Visual Basic-Editor: Drücke ALT + F11, um den Editor zu öffnen.

  2. Füge ein neues Modul hinzu: Klicke mit der rechten Maustaste auf "VBAProject (deine Datei)", wähle "Einfügen" und dann "Modul".

  3. Schreibe dein Makro: Füge den Code für dein Makro ein. Hier ist ein Beispiel, das ein Makro namens GuardusMWAus aufruft, wenn du in der Zelle F5 bist:

    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
       If Target.Address = "$F$5" Then Call GuardusMWAus
    End Sub
  4. Füge die OnKey-Funktion hinzu: Um die Enter-Taste neu zu belegen, füge folgenden Code in das Modul ein:

    Sub SetEnterKey()
       Application.OnKey "~", "GuardusMWAus"
    End Sub
  5. Führe das Setup-Makro aus: Starte das SetEnterKey-Makro, um die Belegung der Enter-Taste aktiv zu setzen.


Häufige Fehler und Lösungen

  • Fehler: Das Makro wird nicht ausgeführt, wenn Enter gedrückt wird.

    • Lösung: Stelle sicher, dass das Setup-Makro (SetEnterKey) ausgeführt wurde und dass du dich in der richtigen Zelle (z.B. F5) befindest.
  • Fehler: Excel reagiert nicht mehr.

    • Lösung: Du hast möglicherweise eine Endlosschleife erzeugt. Überprüfe den Code sorgfältig und stelle sicher, dass das Makro nicht immer wieder die gleiche Zelle anspricht.

Alternative Methoden

Wenn du nicht die Enter-Taste verwenden möchtest, kannst du alternativ andere Ereignisse nutzen, um dein Makro auszuführen:

  • Rechtsklick: Füge eine Funktion hinzu, die bei einem Rechtsklick auf eine bestimmte Zelle das Makro ausführt.
  • Doppelklick: Erstelle ein Makro, das bei einem Doppelklick auf eine Zelle ausgeführt wird.

Hier ein Beispiel für das Doppelklick-Ereignis:

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    If Target.Address = "$F$5" Then
        Call GuardusMWAus
        Cancel = True ' Verhindert das Bearbeiten der Zelle
    End If
End Sub

Praktische Beispiele

Hier ist ein praktisches Beispiel, wie du das Makro GuardusMWAus umsetzen kannst, um Daten in eine Textdatei zu exportieren:

Sub GuardusMWAus()
    Dim Pos As Range
    Dim FContent As String
    Dim GFname As String
    Dim GPath As String
    Set Pos = Application.ActiveCell
    FContent = Format(Cells(Pos.Row, 5).Value, "YYYYMMDD") & ";" & _
               Format(Cells(Pos.Row, 6).Value, "HHMMSS") & ";" & _
               Cells(Pos.Row, 1).Value & ";" & _
               Cells(Pos.Row, 2).Value & ";" & _
               Cells(Pos.Row, 9).Value

    GFname = "RW" & Cells(Pos.Row, 7).Value & ".txt"
    GPath = "C:\GMesswert\"
    Open GPath & GFname For Output As #1
    Print #1, FContent
    Close #1
End Sub

Tipps für Profis

  • Verwende Variablen: Nutze Variablen in deinem Makro, um den Code übersichtlicher zu gestalten.
  • Fehlerbehandlung einfügen: Implementiere eine Fehlerbehandlung, um mögliche Probleme beim Ausführen deines Makros zu identifizieren und zu beheben.

    On Error GoTo Fehlerbehandlung
    ' Dein Code hier
    Exit Sub
    Fehlerbehandlung:
      MsgBox "Ein Fehler ist aufgetreten: " & Err.Description

FAQ: Häufige Fragen

1. Kann ich das Makro auch in anderen Zellen verwenden?
Ja, du kannst das Ziel der Zelle im Code ändern, um das Makro in einer anderen Zelle auszuführen.

2. Was passiert, wenn ich die Enter-Taste in einer anderen Zelle drücke?
Das Makro wird nur ausgeführt, wenn du in der definierten Zelle bist (z.B. F5). In anderen Zellen bleibt die Funktion der Enter-Taste unverändert.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige