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

Forumthread: Tastenkombination Alt Enter mittels VBA erzeugen?

Tastenkombination Alt Enter mittels VBA erzeugen?
29.07.2005 12:44:38
Oliver
Hallo an alle,
ich benötige noch mal Eure Unterstützung. Man kann doch, wenn man in einer Zelle etwas schreibt, einen Zeilenumbruch mit der Tastenkombination Alt Enter erzwingen. Hat man auch die Möglichkeit, dass wenn man in einer bestimmten Zelle, z.B. A1, schreibt, das nach dem Betätigen der Entertaste nicht die Zelle verlassen wird, sondern dieser Zeilenumbruch mittels VBA erzeugt wird und ich dann in dieser Zelle weiterschreiben kann?
Ich habe es mal mit nachfolgenden Anweisungen versucht, aber nur mit einem Teilerfolg. Durch ein SelectionChange-Ereignis wird zugewiesen, dass wenn in der Zelle A1 die Entertaste betätigt wird, das Makro "Zeilenumbruch" ausgeführt werden soll. Dieses Makro ließt dann den Text aus, erzeugt einen Zeilenumbruch und fügt beides wieder in Zelle A1 ein. Nur leider kann ich dann nicht gleich wieder weiterschreiben, sondern muss entweder in die Zelle doppelt klicken oder die F2-Taste betätigen.


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Cells.Address = "$A$1" Then
Application.OnKey "{ENTER}", "Zeilenumbruch"
Application.OnKey "~", "Zeilenumbruch"
Else
Application.OnKey "{ENTER}"
Application.OnKey "~"
End If
End Sub

Sub Zeilenumbruch()
Dim Text As String
Text = Range("A1").Text
Range("A1").FormulaR1C1 = Text & Chr(10)
End Sub

Kann mir da jemand eventuell etwas zu sagen oder sogar den dazu benötigten VBA Code hier hin schreiben? Das wäre riesig.
Danke schon mal im Vorfeld,
Oliver
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Tastenkombination Alt Enter mittels VBA erzeugen?
29.07.2005 12:53:01
Hajo_Zi
Hallo Oliver,
ich habe das jetzt nicht geprüft. Aber welchen Vorteil hat es ich Drücke Strg+Buchstabe. Das sind auch zwei Tasten wie Alt+Enter
Bitte keine Mail, Probleme sollten im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.
Betriebssystem XP Home SP2 und Excel Version 2003 SP1.


Anzeige
AW: Tastenkombination Alt Enter mittels VBA erzeugen?
29.07.2005 14:04:49
Oliver
Hallo Hajo,
danke Dir für Deine Antwort. Ich möchte aber keine zwei Tasten drücken.
Grund: Ich entwerfe gerade ein Maske, in der in einer Zelle unter anderem ein längerer Text eingegeben werden darf. Da der Benutzer, der nachher in dieser Vorlage arbeitet, die Tastenkombination nicht kennt, aber weiß, dass er z.B. in Word mit der Entertaste einen Zeilenumbruch erzeugen kann, so möchte ich erreichen, dass er beim Schreiben in der Zelle mit der Entertaste ein Zeilenumbruch erzeugt kann und er dann weiterschreiben kann. Ein Textfeld oder eine Textbox kommen nicht in Frage, da Teile des Textes formatierbar sein sollen, was bei einem VBA Textfeld ja nicht machbar ist und es soll der Inhalt der Zelle später auch noch wo anders hinkopiert werden. Damit scheidet das Textfeld aus der Symbolleiste Zeichnen ebenfalls aus, da ich dort zwar Textteile formatieren kann, aber nur 255 ZTeichen kopiert bekomme. Daher diese Klimmzüge.
Hat Du eventuell eine Idee, wie ich das realisieren kann? Wäre super.
Gruß,
Oliver
Anzeige
AW: Tastenkombination Alt Enter mittels VBA erzeugen?
29.07.2005 14:08:26
Hajo_Zi
Hallo Oliver,
das ist für mich genauso unausgegoren.
In kurzen Worten zusammengefast möchtest Du das wenn Enter gedrückt wird ein Zeilenumbruch ausgeführt wird. Das hat den Vorteil Du hast keine Entertaste mehr.
Gruß Hajo

"Wer Rechtschreibfehler findet, darf sie behalten!"
Anzeige
AW: Tastenkombination Alt Enter mittels VBA erzeugen?
29.07.2005 14:28:39
Oliver
Hallo Hajo,
danke Dir noch mal für Deine Antwort. Ja, so hatte ich mir das vorgestellt. Allerdings soll nur, wenn in Zelle A1 etwas eingegeben wird, mit der Entertaste ein Zeilenumbruch erzeugt wird. Bei allen anderen Zellen soll die Entertaste ihre eigentliche Funktion behalten. Deshalb habe ich das mit den VBA Codes aus meiner Eingangsfrage versucht. Der reagiert ja auch entsprechend und erzeugt mir einen Zeilenumbruch nur dann wird die Zelle verlassen und das möchte ich nicht, sondern ich möchte nach dem eingefügten zeilenumbruch weiter in der zelle A1 schreiben. Hast Du da eine Idee?
Gru?,
Oliver
Anzeige
AW: Tastenkombination Alt Enter mittels VBA erzeugen?
31.07.2005 20:36:12
MichaV
Hallo Oliver,
versuch mal

Sub Zeilenumbruch()
Dim Text As String
Range("A1") = Range("A1") & vbLf
Application.SendKeys ("{f2}")
End Sub

Gruß- Micha
PS: Rückmeldung wäre nett.
Genau das war's!
01.08.2005 08:06:04
Oliver
Moin Micha,
danke DIr für Deine Antwort, genau das war's was ich suchte.
Einen schönen Tag noch,
Oliver
Anzeige
Danke für die Rückmeldung! owT
01.08.2005 08:43:42
MichaV
Dir auch ne schöne Woche
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Tastenkombination Alt Enter mit VBA in Excel nutzen


Schritt-für-Schritt-Anleitung

Um die Tastenkombination Alt + Enter in Excel mit VBA zu simulieren, kannst du den folgenden VBA-Code verwenden. Dieser ermöglicht es, dass in einer bestimmten Zelle (z.B. A1) beim Drücken der Enter-Taste ein Zeilenumbruch erzeugt wird, ohne die Zelle zu verlassen.

  1. Öffne Excel und drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Wähle im Projektfenster das Arbeitsblatt aus, auf dem du den Code anwenden möchtest (z.B. "Sheet1").
  3. Füge den folgenden Code in das Codefenster ein:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Address = "$A$1" Then
        Application.OnKey "~", "Zeilenumbruch"
    Else
        Application.OnKey "~"
    End If
End Sub

Sub Zeilenumbruch()
    Dim Text As String
    Text = Range("A1").Value
    Range("A1").Value = Text & vbLf
    Application.SendKeys "{F2}"
End Sub
  1. Schließe den VBA-Editor und kehre zu Excel zurück.
  2. Teste die Funktion, indem du in Zelle A1 schreibst und die Enter-Taste drückst.

Häufige Fehler und Lösungen

  • Problem: Die Funktion "Alt + Enter" funktioniert nicht.

    • Lösung: Stelle sicher, dass der VBA-Code korrekt eingefügt wurde und dass du das richtige Arbeitsblatt ausgewählt hast.
  • Problem: Nach dem Zeilenumbruch kann ich nicht direkt weiterschreiben.

    • Lösung: Der Code verwendet Application.SendKeys "{F2}", um die Bearbeitung der Zelle wieder zu aktivieren.

Alternative Methoden

Wenn du keine VBA-Lösung verwenden möchtest, kannst du den Zeilenumbruch manuell mit der Alt + Enter Tastenkombination eingeben, während du in einer Zelle schreibst. Hier sind einige Alternativen:

  • Verwende ein Textfeld oder eine Textbox, wenn du keine Formatierung benötigst.
  • Nutze die Formatierungsoptionen in Excel, um den Text in einer Zelle zu umbrechen, ohne VBA zu verwenden. Aktiviere die Option "Zeilenumbruch" in den Zellenformatierungen.

Praktische Beispiele

Hier ist ein Beispiel, wie du den Code für eine andere Zelle anpassen kannst:

Ändere If Target.Address = "$A$1" in If Target.Address = "$B$1" um, wenn du möchtest, dass die Enter-Taste in Zelle B1 einen Zeilenumbruch erzeugt.


Tipps für Profis

  • Du kannst den VBA-Code weiter anpassen, um verschiedene Zellen oder Bereiche zu definieren, in denen die Tastenkombination Alt + Enter aktiv sein soll.
  • Achte darauf, dass die Verwendung von Application.SendKeys nicht immer zuverlässig ist, da es von der aktuellen Anwendung abhängt. Teste es daher gründlich.

FAQ: Häufige Fragen

1. Frage: Funktioniert dieser VBA-Code in allen Excel-Versionen?
Antwort: Der Code sollte in den meisten Excel-Versionen ab 2007 funktionieren, jedoch kann es Unterschiede in der Benutzeroberfläche geben.

2. Frage: Kann ich den Code für mehrere Zellen gleichzeitig verwenden?
Antwort: Ja, du kannst die Bedingung im Code anpassen, um mehrere Zellen zu überprüfen, indem du Or-Operatoren verwendest.

3. Frage: Was ist, wenn ich die Enter-Taste in anderen Zellen normal verwenden möchte?
Antwort: Der Code ist so konzipiert, dass die Enter-Taste in anderen Zellen ihre normale Funktion behält.

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