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

Makro starten über Enter Taste ( EIngabetaste)

Forumthread: Makro starten über Enter Taste ( EIngabetaste)

Makro starten über Enter Taste ( EIngabetaste)
28.09.2016 14:19:40
Tobias
Hallo Leute,
ich habe folgendes Problem.
Ich habe mir ein Makro geschrieben, der mir aus meiner Tabelle verschiedene Daten ausfiltert.
Jetzt soll dieser aber immer über die Enter, am besten Eingabetaste gestartet werden, da mir das klicken auf eine Schaltfläche zu aufwendig ist, bei der Menge, wie ich den Makro nutze.
ich dachte an eine OnKey Application
hiermal noch der Makro

Sub GVZ()
' GVZ Makro
Range("Tabelle612[Straße]").Select
Selection.Copy
Sheets("Datenbank").Select
Range("Tabelle6[Straße]").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Range("Tabelle1[[#Headers],[Straße]]").Select
Application.CutCopyMode = False
Range("Tabelle1[#All]").AdvancedFilter Action:=xlFilterCopy, CriteriaRange _
:=Range("Tabelle6[[#All],[Straße]]"), CopyToRange:=Range("I1:K1"), Unique _
:=False
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 3
ActiveWindow.ScrollColumn = 4
ActiveWindow.ScrollColumn = 5
Columns("I:K").Select
Selection.Copy
Columns("I:K").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Suchfeld").Select
Columns("E:G").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Columns("E:G").Select
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Suchfeld").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Suchfeld").Sort.SortFields.Add Key:=Range( _
"F2:F989"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Suchfeld").Sort
.SetRange Range("E1:G989")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveWorkbook.Worksheets("Suchfeld").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Suchfeld").Sort.SortFields.Add Key:=Range( _
"E2:E989"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Suchfeld").Sort
.SetRange Range("E1:G989")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Range("Tabelle612[Ort]").Select
Selection.Copy
Sheets("Ort").Select
Range("Tabelle17[Ort]").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 1
Range("Tabelle15[[#Headers],[Ort]]").Select
Application.CutCopyMode = False
Range("Tabelle15[#All]").AdvancedFilter Action:=xlFilterCopy, CriteriaRange _
:=Range("Tabelle17[[#All],[Ort]]"), CopyToRange:=Range("G1:H1"), Unique:= _
False
ActiveWindow.ScrollColumn = 2
ActiveWindow.ScrollColumn = 3
Columns("G:H").Select
Selection.Copy
Sheets("Suchfeld").Select
Columns("H:I").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Columns("H:I").EntireColumn.AutoFit
ActiveWindow.ScrollColumn = 2
Columns("H:I").EntireColumn.AutoFit
Columns("H:I").Select
Selection.Font.Size = 16
Selection.Font.Size = 14
Columns("H:I").EntireColumn.AutoFit
ActiveWindow.ScrollColumn = 1
Range("A2").Select
End Sub

  • Danke für die Hilfe
  • Anzeige

    4
    Beiträge zum Forumthread
    Beiträge zu diesem Forumthread

    Betreff
    Datum
    Anwender
    Anzeige
    AW: Makro starten über Enter
    28.09.2016 15:18:10
    Tobias
    vielleicht stelle ich die Frage mal um,
    es geht auch, wenn ich über Enter die Zeile darunter markiere.
    Das würde mir auch helfen.
    Es ändert sich immer der Text in Zeile A2 oder C2 andere Zellen, nicht betroffen.
    sobald ich die Zellen A3 oder C3 markiere, kann es auch losgehen.
    Anzeige
    AW: Makro starten über Enter
    28.09.2016 16:05:28
    Nepumuk
    Hallo,
    in das Modul der Tabelle (Rechtsklick auf den Tabellenreiter - Code anzeigen):
    Option Explicit

    Private Sub Worksheet_Change(ByVal Target As Range)
        If Target.Address = "$A$2" Or Target.Address = "$C$2" Then Call GVZ
    End Sub

    Gruß
    Nepumuk
    Anzeige
    AW: Makro starten über Enter
    29.09.2016 07:30:22
    Tobias
    Vielen vielen dank
    jetzt funktioniert es
    Anzeige
    Anzeige

    Infobox / Tutorial

    Makro über die Eingabetaste in Excel starten


    Schritt-für-Schritt-Anleitung

    Um ein Makro über die Eingabetaste (Enter-Taste) zu starten, kannst du folgende Schritte befolgen:

    1. Öffne Excel und gehe zu dem Arbeitsblatt, in dem du das Makro verwenden möchtest.

    2. Drücke mit der rechten Maustaste auf den Tabellenreiter und wähle „Code anzeigen“.

    3. Füge den folgenden VBA-Code in das Modul ein:

      Option Explicit
      
      Private Sub Worksheet_Change(ByVal Target As Range)
         If Target.Address = "$A$2" Or Target.Address = "$C$2" Then
             Call GVZ
         End If
      End Sub
    4. Speichere die Datei als Makro-fähige Arbeitsmappe (.xlsm).

    5. Teste das Makro, indem du in die Zellen A2 oder C2 etwas eingibst und die Eingabetaste drückst. Das Makro „GVZ“ sollte nun automatisch ausgeführt werden.


    Häufige Fehler und Lösungen

    • Fehler: Das Makro wird nicht ausgeführt.

      • Lösung: Stelle sicher, dass das Makro korrekt gespeichert wurde und dass du die Datei als .xlsm gespeichert hast.
    • Fehler: Eingabetaste funktioniert nicht wie gewünscht.

      • Lösung: Überprüfe, ob der Target.Address im VBA-Code korrekt ist. Wenn du eine andere Zelle verwenden möchtest, passe die Adressen entsprechend an.

    Alternative Methoden

    Falls du eine andere Methode bevorzugst, kannst du ein Tastenkürzel für dein Makro festlegen:

    1. Gehe zu „Entwicklertools“ > „Makros“.
    2. Wähle dein Makro aus und klicke auf „Optionen“.
    3. Lege ein Tastenkürzel fest, z.B. Ctrl + Shift + G.
    4. Mit diesem Shortcut kannst du das Makro schnell ausführen, ohne die Eingabetaste zu verwenden.

    Praktische Beispiele

    Wenn du das Makro für verschiedene Zellen verwenden möchtest, kannst du den Code wie folgt anpassen:

    Private Sub Worksheet_Change(ByVal Target As Range)
        If Not Intersect(Target, Range("A2:C10")) Is Nothing Then
            Call GVZ
        End If
    End Sub

    Dieser Code führt das Makro aus, wenn eine Zelle im Bereich A2 bis C10 geändert wird.


    Tipps für Profis

    • Nutze die Eingabetaste in Kombination mit anderen Funktionen, um deine Arbeitsabläufe zu optimieren.
    • Experimentiere mit Return-Tasten in Form von benutzerdefinierten Tastenkombinationen, um noch schneller zu arbeiten.
    • Achte darauf, regelmäßig deine Makros zu testen, besonders nach Änderungen am Code.

    FAQ: Häufige Fragen

    1. Frage
    Kann ich das Makro auch über eine andere Taste starten?
    Antwort: Ja, du kannst das Makro auch über ein festgelegtes Tastenkürzel starten, indem du die oben beschriebenen Schritte zur Einrichtung eines Shortcuts befolgst.

    2. Frage
    Was ist der Unterschied zwischen der Eingabetaste und der Return-Taste in Excel?
    Antwort: In Excel sind die Begriffe im Grunde gleichbedeutend. Beide beziehen sich auf die Taste, die in der Regel verwendet wird, um eine Eingabe zu bestätigen und zur nächsten Zeile zu wechseln.

    Beliebteste Forumthreads (12 Monate)

    Anzeige
    Anzeige
    Anzeige