Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro mit ENTER auslösen

Forumthread: Makro mit ENTER auslösen

Makro mit ENTER auslösen
07.11.2005 15:26:55
KooK
Hallo,
hier eine kleine Nuss für Euch zum knacken. Ich bekomme es nicht hin.
Ich habe ein Tabellenblatt in dem ich drei Werte angebe. Nun möchte ich das beim betätigen der ENTER Taste (nur die ENTER Taste) diese Werte auf andere Tabellenblätter kopiert werden.
1. Wert gibt das Tabellenblatt an wohin die zwei anderen Werte hinkopiert werden sollen.
Habt Ihr eine Idee wie ich das umstetzen kann.
Gruß KooK
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro mit ENTER auslösen
07.11.2005 15:48:17
Andi
Hi,
folgendes ins Modul "DieseArbeitsmappe":

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnKey "{ENTER}"
End Sub


Private Sub Workbook_Open()
Application.OnKey "{ENTER}", "kopieren"
End Sub

und folgendes in ein Standard-Modul:
Sub kopieren()
With ActiveSheet
.Range("A2:A3").Copy
Sheets(.Range("A1").Value).Range("A2:A3").PasteSpecial
End With
Application.CutCopyMode = False
End Sub
Quell- und Zielbereich "A2:A3" sowie die Zelle mit der Zieltabelle (A1) müssten ggf noch angepasst werden.
Mit dem Code wird das Makro nur mit der Enter-Taste im Ziffernblock ausgelöst, wenn die Return-Taste das Makro auch starten soll, dann musst Du die beiden OnKey-Zeilen analog für RETURN statt für ENTER auch noch einfügen.
Schönen Gruß,
Andi
Anzeige
AW: Makro mit ENTER auslösen
07.11.2005 17:03:42
Heiko
Hallo Kook,
die Lösung mit OnKey hat immer den Nachteil das die Taste dann halt immer das Makro startet egal wo du bist.
Wir haben das hier gerade behandelt, schau mal hier da gibt es auch andere Lösungen.
Den Bereich (A1) anpassen und den Rest kannst du von Andi übernehmen.
https://www.herber.de/forum/messages/691427.html
Gruß Heiko
PS: Rückmeldung wäre nett
Anzeige
das is natürlich..
07.11.2005 17:22:57
Andi
... schon a bisserl besser wie meine Lösung mit OnKey.
Wieder was gelernt, vielen Dank dafür.
Schönen Gruß,
Andi
AW: das is natürlich..
07.11.2005 17:43:07
Heiko
Hallo Kook,
Hallo Andi,
zu früh gefreut, wenn es wirklich nur die ENTER Taste vom Nummernblock sein soll, dann läuft meine Version nicht. Da der VirtuelKeyCode nicht zwischen EINGABE und ENTER Taste unterscheidet, leider !
Gruß Heiko
Anzeige
AW: das is natürlich..
07.11.2005 18:01:14
Andi
Hi,
aber dann wäre ja die OnKey-Variante OK, oder?
Wenn die Mappe ned grad eine Liste von Telefonnummern oder Postleitzahlen beherbergt, dann wäre ja die Enter-Taste im Nummernblock verzichtbar; man könnte ja das Kopier-Makro noch um ne Sicherheits-Abfrage ergänzen, um ein versehentliches Kopieren auszuschliessen.
Schönen Gruß,
Andi
Anzeige
Vielen Herzlichen Dank Euch beiden
08.11.2005 19:34:15
KooK
Hallo,
ich möchte mich bei Euch ganz Herzlich bedanken. Es klappt.
Ich hatte vorher keine Zeit ins Forum zu sehen
Danke noch mal
KooK
Gern geschehen...
09.11.2005 10:24:15
Andi
Danke für die Rückmeldung.
Schönen Gruß,
Andi
;
Anzeige

Infobox / Tutorial

Makro mit der ENTER-Taste auslösen


Schritt-für-Schritt-Anleitung

Um ein Makro beim Drücken der ENTER-Taste (oder RETURN-Taste) auszulösen, kannst Du den folgenden VBA-Code verwenden. Achte darauf, dass Du diesen Code in die richtige Stelle in Excel einfügst.

  1. Öffne den VBA-Editor mit ALT + F11.

  2. Füge im Projekt-Explorer unter "DieseArbeitsmappe" den folgenden Code ein:

    Private Sub Workbook_BeforeClose(Cancel As Boolean)
       Application.OnKey "{ENTER}"
    End Sub
  3. Füge im gleichen Modul den folgenden Code hinzu:

    Private Sub Workbook_Open()
       Application.OnKey "{ENTER}", "kopieren"
    End Sub
  4. Erstelle ein Standard-Modul und füge den folgenden Code ein:

    Sub kopieren()
       With ActiveSheet
           .Range("A2:A3").Copy
           Sheets(.Range("A1").Value).Range("A2:A3").PasteSpecial
       End With
       Application.CutCopyMode = False
    End Sub
  5. Stelle sicher, dass der Quell- und Zielbereich (A2:A3 und A1) entsprechend angepasst ist.

Du kannst jetzt das Makro mit der ENTER-Taste auslösen, wenn Du Dich im richtigen Arbeitsblatt befindest.


Häufige Fehler und Lösungen

  • Problem: Das Makro wird nicht nur bei der ENTER-Taste im Ziffernblock ausgelöst.

    • Lösung: Du kannst die OnKey-Zeilen für die RETURN-Taste ergänzen. Füge diese Zeile hinzu:
    Application.OnKey "{RETURN}", "kopieren"
  • Problem: Das Makro wird an unerwünschten Stellen ausgelöst.

    • Lösung: Stelle sicher, dass Du den Code nur in der relevanten Arbeitsmappe anwendest und nicht in globalen Modulen.

Alternative Methoden

Falls die OnKey-Methode nicht Deinen Bedürfnissen entspricht, kannst Du auch Formularsteuerelemente oder ActiveX-Steuerelemente verwenden, um das Makro auszulösen. Hier ist eine einfache Möglichkeit:

  1. Füge einen Button in Dein Arbeitsblatt ein.
  2. Klicke mit der rechten Maustaste auf den Button und wähle "Makro zuweisen".
  3. Wähle das kopieren-Makro aus.

Dies ermöglicht es Dir, das Makro mit einem Klick auszuführen, ohne auf die ENTER-Taste angewiesen zu sein.


Praktische Beispiele

Angenommen, Du hast die folgenden Daten in Zelle A1:

A
Ziel1
Wert1
Wert2

Wenn Du das Makro mit der ENTER-Taste ausführst, wird der Bereich A2:A3 (Wert1 und Wert2) auf das Arbeitsblatt "Ziel1" kopiert.


Tipps für Profis

  • Sicherheitsabfrage: Füge eine Sicherheitsabfrage in Dein Makro ein, um versehentliches Kopieren zu vermeiden. Dies kann z.B. mit einer MsgBox realisiert werden.
  • Verwendung von Variablen: Verwende Variablen für Quell- und Zielbereiche, um Dein Makro flexibler zu gestalten.
  • Testen: Teste das Makro in einer Kopie Deiner Arbeitsmappe, um ungewollte Datenverluste zu vermeiden.

FAQ: Häufige Fragen

1. Welches ist die Eingabetaste bei Excel? Die Eingabetaste bei Excel ist die ENTER-Taste oder die RETURN-Taste, je nach Tastatur.

2. Kann ich das Makro auch mit einer anderen Taste auslösen? Ja, Du kannst die Application.OnKey-Methode anpassen, um das Makro mit einer anderen Taste auszulösen, indem Du den entsprechenden Code anpasst.

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