Live-Forum - Die aktuellen Beiträge
Datum
Titel
16.10.2025 17:40:39
16.10.2025 17:25:38
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: mit Makro in Bearbeitungsmodus und Text markieren

mit Makro in Bearbeitungsmodus und Text markieren
13.03.2009 11:54:54
Jakob
Hallo,
ich habe folgenden Code der auch soweit ganz gut funktioniert. Beim Aufruf der Zellen C19:I36 wird der Bearbeitungsmodus aufgerufen.
1. Leider ist dieser beim Verlassen der Zelle immer noch aktiv. Läßt sich dieser nach dem Verlassen der Zellen C19:I36 wieder deaktivieren?
2. oder läßt sich auch zusätzlich der Text in der Zelle im Bearbeitungsmodus markieren?

If Target.Address = "$C$19:$I$36" And [G6] = "PK" Or [G6] = "BD" _
Then
Application.SendKeys ("{F2}")
Else
End If


Vielen Dank für Eure Hilfe.
Gruß,
Jakob

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: mit Makro in Bearbeitungsmodus und Text markieren
13.03.2009 14:35:02
fcs
Hallo Jakob,
der Bearbeitungsmodus ist nach dem Verlassen der nicht mehr aktiv.
Bei dieser Art der Bereichsauswahl vor der Dateneingabe bleibt die Zellauswahl erhalten, solange du mit der ENTER-Taste oder TAB-Taste die nächsten Zellen ansteuerst. Bei Zellauswahl mit Pfeiltasten oder Maus wird die Zellselektion wieder "normal".
Die 2. Frage hab ich nicht verstanden.
Was willst du denn überhaupt erreichen?
Gruß
Franz
Anzeige
AW: mit Makro in Bearbeitungsmodus und Text markieren
13.03.2009 15:41:27
Jakob
Hallo Franz,
zuerst eine kurze Erläuterung warum ich das mache. Ich kopiere aus SAP einen mehrzeiligen Text. Nur im Bearbeitungsmodus läßt sich dieser richtig einfügen.
So nun zur Funktion des Makros. Zurzeit macht das Makro folgendes: sobald ich in die Zellen C19:I36 springe wird der Bearbeitungsmodus gestartet und ich kann den Text aus der Zwischenablage einfügen. Aus dieser Zelle komme ich aber nur mit Return oder der Tab-Taste raus. Bei allen weiteren Zellen die ich aufrufe startet er leider dann immer noch im Bearbeitungsmodus.
Wenn in der ausgewählten Zelle bereits Text vorhanden ist, dann steht der Cursor am Ende des Textes. Das hat zur Folge, daß wenn ich in der Zelle was ändern will ich erst mal den Inhalt löschen muß. Deshalb mein Wunsch, daß der Zellinhalt markiert wird, dann kann ich nämlich diesen Text überschreiben oder falls der Text korrekt ist weiter zur nächsten Zelle springen.
Hast Du eine Idee für mein Problem?
Gruß,
Jakob
Anzeige
AW: mit Makro in Bearbeitungsmodus und Text markieren
16.03.2009 08:13:53
schauan
Hallo Jakob,
vielleicht kannst Du Dein Makro mal so konzentrieren, dass es nur die beschriebene Aktion macht. Dann stellst Du es hier ein und man kann sich ein Gedanken drüber machen.
Gruß, Andre
AW: mit Makro in Bearbeitungsmodus und Text markieren
16.03.2009 10:04:17
fcs
Hallo Jakob,
um einen mehrzeiligen Text aus der Zwischenablage in eine einzelene Zelle zu schreiben muss man unter VBA einen kleinen Umweg gehen.
Ob du den Parameter ReplaceCR auf False setzen muss weiss ich nicht. Der Wert "True" verhindert bei bestimmten Texten, dass unerwünschte Leerzeilen in der Zelle erscheinen.
Gruß
Franz

Dein bisheriges Makro - angepasst:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Address = "$C$19:$I$36" And [G6] = "PK" Or [G6] = "BD" _
Then
Call ClipBoardInZelleEinfuegen(rngZelle:=Target, ReplaceCR:=True)
Else
End If
End Sub
'Einfügeprozedur in einem allgemeinen Modul
'Bitte darauf achten, das im VBA-Editor unter Extras-->Verweise die _
"Microsoft Forms x.y Object Library" als verfügbar markiert ist.
Sub ClipBoardInZelleEinfuegen(rngZelle As Range, Optional ReplaceCR As Boolean = True)
Dim Zwischenablage As DataObject, strText As String
Set Zwischenablage = New DataObject
Zwischenablage.GetFromClipboard
If Zwischenablage.GetFormat(1) = True Then
If MsgBox(Prompt:="Text in Zelle: " & rngZelle.Address & vbLf & vbLf _
& rngZelle.Range("A1").Text & vbLf & vbLf & "ersetzen durch:" & vbLf & vbLf _
& Zwischenablage.GetText, Buttons:=vbYesNo + vbQuestion, _
Title:="Text aus Zwischenablage in Zelle einfügen") = vbYes Then
strText = Zwischenablage.GetText
If ReplaceCR = True Then
'ggf. CarriageReturns ersetzen
rngZelle.Value = VBA.Replace(strText, vbCr, "")
Else
rngZelle.Value = strText
End If
End If
Else
MsgBox "In der Zwischenablage ist kein Text"
End If
End Sub


Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Makro für den Bearbeitungsmodus in Excel nutzen


Schritt-für-Schritt-Anleitung

Um den Bearbeitungsmodus in Excel automatisch zu aktivieren und gleichzeitig den Text in bestimmten Zellen zu markieren, kannst Du folgendes Makro verwenden. Dieses Makro wird aktiviert, wenn Du die Zellen im Bereich C19:I36 auswählst.

  1. Öffne Excel und gehe zu dem Arbeitsblatt, in dem Du das Makro verwenden möchtest.
  2. Öffne den VBA-Editor (Alt + F11).
  3. Füge den folgenden Code in das entsprechende Arbeitsblattmodul ein:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Not Intersect(Target, Range("C19:I36")) Is Nothing And ([G6] = "PK" Or [G6] = "BD") Then
        Application.SendKeys "{F2}"  ' Aktiviert den Bearbeitungsmodus
        Application.SendKeys "^a"     ' Markiert den gesamten Text
    End If
End Sub
  1. Schließe den VBA-Editor und teste das Makro in Excel. Wenn Du nun die Zellen C19:I36 auswählst, sollte der Bearbeitungsmodus aktiviert werden und der Text sollte markiert sein.

Häufige Fehler und Lösungen

  • Makro funktioniert nicht: Stelle sicher, dass die Makros in Excel aktiviert sind. Gehe dazu zu „Datei“ > „Optionen“ > „Trust Center“ > „Einstellungen für das Trust Center“ > „Makroeinstellungen“ und aktiviere die entsprechenden Optionen.

  • Text wird nicht markiert: Überprüfe, ob das SendKeys-Kommando für die Markierung (Strg + A) korrekt funktioniert. Manchmal kann es helfen, den PC neu zu starten oder Excel neu zu laden.


Alternative Methoden

Falls Du nicht mit Makros arbeiten möchtest, kannst Du den Bearbeitungsmodus in Excel auch manuell aktivieren, indem Du einfach auf die Zelle doppelklickst. Allerdings wird dabei der Text nicht automatisch markiert.

Eine andere Möglichkeit ist, die Funktion „Datenüberprüfung“ zu nutzen, um sicherzustellen, dass nur bestimmte Werte in den Zellen C19:I36 eingegeben werden können. So kannst Du verhindern, dass das Bearbeiten der Zellen zu Fehlern führt.


Praktische Beispiele

Ein praktisches Beispiel für die Nutzung des Makros:

  • Du arbeitest mit einem mehrzeiligen Text aus einer anderen Anwendung, z.B. SAP. Wenn Du diesen Text in die Zellen C19:I36 einfügst, wird der Bearbeitungsmodus automatisch aktiviert, und der gesamte Text wird markiert. Dies erleichtert das Einfügen enorm, da Du den Text einfach überschreiben kannst, ohne ihn zuerst manuell zu löschen.

Tipps für Profis

  • Experimentiere mit der Anpassung des Makros, um bestimmte Funktionen hinzuzufügen. Zum Beispiel könntest Du es so einstellen, dass es nur aktiviert wird, wenn ein bestimmter Wert in einer anderen Zelle steht.

  • Stelle sicher, dass Du regelmäßig Backups Deiner Excel-Dateien machst, besonders wenn Du mit Makros arbeitest.

  • Verwende die „Debug“-Funktion im VBA-Editor, um mögliche Fehler in Deinem Code schneller zu finden.


FAQ: Häufige Fragen

1. Wie kann ich den Bearbeitungsmodus in Excel aktivieren?
Du kannst den Bearbeitungsmodus in Excel aktivieren, indem Du auf eine Zelle doppelklickst oder die F2-Taste drückst.

2. Funktioniert das Makro in allen Excel-Versionen?
Das bereitgestellte Makro sollte in den meisten modernen Excel-Versionen (ab Excel 2007) funktionieren. Achte darauf, dass die Entwicklertools aktiviert sind.

3. Was mache ich, wenn das Makro nicht wie erwartet funktioniert?
Überprüfe die Einstellungen für Makros und stelle sicher, dass Du die richtige Zelle ausgewählt hast. Teste auch den Code im VBA-Editor auf mögliche Fehler.

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