Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1920to1924
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Formatierung Teilstring in Zellinhalt

Formatierung Teilstring in Zellinhalt
11.03.2023 09:35:33
Roland
Hallo Excel Community
manuell kann die Formatierung eines Teilstrings einer Zelle einfach durch Markierung des Teilstrings in Zelle in der Bearbeitungsleiste durchgeführt werden um die Schriftart dieses Teils auf kursiv zu ändern.
Ich möchte aber mehrere Änderungen am String durchführen, zum Beispiel noch rote Schrift, kleinere Schrift kursiv etc..
Laut ChatGPT kein Problem dies zu automatisieren. Nur hat der eine Eselsgeduld und alle seine Vorschläge führen zu einer Fehlermeldung.
Der Makrorekorder verwendet zur Änderung eines Teilstrings zum Beispiel
With ActiveCell.Characters(Start:=4, Length:=4).Font
also er kennt Start und die Länge des markierten Text.
Alle Vorschläge von ChatGPT für die automatisierte Verarbeitung versucht es im Wesentlichen mit
Start:=Selection.Start und Verwendung von Selection.End.
Da im Bearbeitungsmodus der Makrorecorder nicht aufgerufen werden kann und Kurzwahlkombination nicht funktioniert, schlägt er ein Commandbutton zum Start des Makros vor. Nach Stunden des Versuchen dachte ich mir, ich frag bei wirklichen Fachleuten nach.
Geht das mit VBA überhaupt einen angewählten Teilstring weiter zu verarbeiten und wenn ja wie?
Grüße Roland

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formatierung Teilstring in Zellinhalt
11.03.2023 10:50:34
Matthias
Hallo,
Option Explicit
Private Sub CommandButton1_Click()
'in Activecell steht z.B "Roland"
ActiveCell.Characters(Start:=3, Length:=2).Font.Bold = True
End Sub
Ergebnis:
Roland
MfG Matthias
AW: Formatierung Teilstring in Zellinhalt
11.03.2023 16:12:19
Roland
Danke für deine Mühe Matthias. Das war ja bereits in meiner Frage enthalten und hilft leider nicht weiter.
AW: Formatierung Teilstring in Zellinhalt
11.03.2023 11:00:11
RPP63
Moin!
Im Bearbeitungsmodus ist die Ausführung eines Makros schlicht nicht möglich!
Ich habe übrigens nicht die Eselsgeduld, bin ja auch kein Chat-Bot. ;)
Gruß Ralf
Allerdings …
11.03.2023 11:11:54
RPP63
… erscheint doch nach der Markierung eine kontextbezogene Symbolleiste.
Da ist doch kursiv, fett, rot und größer nur 4 Mausklicks entfernt, die Symbolleiste bleibt ja geöffnet:


Was ich von einem Formartierungs-Mischmasch in einer Zelle halte, behalte ich lieber für mich. :-))
Anzeige
AW: Allerdings …
11.03.2023 16:41:37
Roland
Danke Ralf.
Du verwendest Excel vermutlich als Tabellenkalkulation - man kann es auch für andere Aufgaben nutzen und da ist hervorgehobener Text wegen Lesbarkeit nach meiner Einstufung durchaus sinnvoll. Danke auf Verzicht der Kommentierung :-)).
Ich habe mir von der Microsoft Seite folgenden Code kopiert:
Sub TestSelection()
    Dim str As String
    Select Case TypeName(Selection)
    Case "Nothing"
        str = "No selection made."
    Case "Range"
        str = "You selected the range: " & Selection.Address
    Case "Picture"
        str = "You selected a picture."
    Case Else
        str = "You selected a " & TypeName(Selection) & "."
    End Select
    MsgBox str
End Sub
Und über einen Commandbutton1 lässt sich das Makro starten, z.B. Clickevent.
Als Ergebnis bringt die MsgBox im
Sub TestSelection() von oben dann die Adresse der activecell. 
Ich habe es auch über einer Grafik mit zugeordnetem Makro probiert. Es kann auch da gestartet werden und es kommt auch da die Adresse der activecell.. Nicht wie von mir vermutet die Meldung "You selected a picture." 
Wenn ich den Teilstring von Hand markiere und über kontextbezogene Symbolleiste gehe, bleibt meine Markierung in der Zelle erhalten. 
Bei Einzelschrittausführung des Makros ist die Markierung des Teilstrings sofort weg. Durchaus möglich dass es nicht geht.
Danke für deine Angaben.
Gruß Roland

Anzeige
AW: Allerdings …
11.03.2023 19:42:55
onur
"Du verwendest Excel vermutlich als Tabellenkalkulation - man kann es auch für andere Aufgaben nutzen" ?
Ja klar, man kann ja auch 40 Jahre alten Whisky für eine Bowle oder eine Bohrmaschine zum Nägeleinschlagen nehmen, muss man aber nicht.
Und das Beispiel, das du von der Microsoft Seite kopiert und, ohne ihn auch nur etwas zu verstehen, hier gepostet hast, ist nur für die angeklickte (aktive) Zelle/Bereich bzw Grafik gedacht und nicht für die Bearbeitung in der Bearbeitungsleiste.
"Durchaus möglich dass es nicht geht" - Nett, dass du mit deinem Expertenwissen den gleichen Verdacht hast.
Anzeige
AW: Allerdings …
12.03.2023 10:47:25
Roland
Hallo onur
Lies bitte in den Forumsregeln nach. Speziell den Satz "Merke: Aussagen wie "es geht nicht" oder "Hilfe" bringen niemandem etwas."
Grüsse Roland
Hä? Der kommt doch von Dir selbst!
12.03.2023 12:15:35
Dir
AW: Allerdings …
12.03.2023 17:56:15
onur
Man kann zwar einen Text "lesen", aber ob man das Gelesene wirklich versteht, ist was Anderes. Wenn du die Regeln wirklich gelesen und auch Verstanden hättest, wüsstest du, daß dein Zitat an den Hilfesuchenden gerichtet ist, damit er nicht so einen Müll schreibt wie: "Hilfe! Mein Code/meine Formel geht nicht !" . Dass der Satz unter unter dem Titel "So stellst Du Deine Frage richtig" stand, hätte dir ein Hinweis sein können. Wer ein Makro braucht, damit er sich 3-4 Mausklicks sparen kann, hat es nicht nötig, einen Text richtig zu lesen - von Kapieren mal ganz abgesehen....
Anzeige
AW: Allerdings …
11.03.2023 18:30:08
Roland
Noch jemand eine Idee?
AW: Allerdings …
11.03.2023 19:12:44
Rpp63
Was brauchst Du denn noch abseits meiner Aussage, dass das nicht geht?
AW: Allerdings …
12.03.2023 10:53:49
Roland
Hallo Ralf
Mein Hinweis an Onur mit Forumsregel
Merke:
Aussagen wie "es geht nicht" oder "Hilfe" bringen
niemandem etwas.
gilt leider auch für dich.
Gruss Roland
AW: Allerdings …
12.03.2023 11:38:52
GerdL
Moin Roland!
Excel ist kein Textbearbeitungsprogramm.
Excel ist kein Klickibunti. :-)
Gruß Gerd
AW: Formatierung Teilstring in Zellinhalt
11.03.2023 20:36:42
Daniel
Hi
mit VBA hast du meines Wissens nach keinen Zugriff auf die Bearbeitungzeile von Excel, daher kann das, was du vor hast, so nicht funktionieren.
Als Workaround könntest du folgendes machen:
1. Textbox anlegen
2. Text in die Textbox einfügen
3. Textteil in der Textbox auswählen
4. In der Textbox kannst du dann den selektierten Text mit den Eigenschaften Textbox1.SelStart und Textbox1.SelLength ermitteln und damit dann eine Zelle formatieren.
Gruß Daniel
Anzeige
AW: Formatierung Teilstring in Zellinhalt
12.03.2023 10:04:42
Roland
Danke vielmals.
Wenn es so nicht geht dann gehe ich über die
Zwischenablage mit strg+c.
Erscheint mir einfacher als über die Textbox.

Danke an alle.
Gruss Roland
AW: Formatierung Teilstring in Zellinhalt
12.03.2023 13:20:24
Daniel
Das macht im Schwierigkeitsgrad keinen unterschied.
Du hast halt zusätzlich die Textbox, aber wenn du sowieso einen Button hast, stört die auch nicht weiter.
Du kannst auch alles über einen Button steuern.
Erster Klick holt den Text in die Box, zweiter Klick führt dann die Formatierung aus:
Sub Commandbutton1_Click()
Dim Start as Long 
Dim Länge as Long
It Textbox1.Text = "" Then
    Textbox1.Text = ActiveCell.Text
Else
    Start = Textbox1.SelStart
    Länge = Textbox1.SelLength
    ... Hier dann der Code für die Formatierung
    Textbox1.Text = ""
End If
End Sub
Zeig doch Mal, wie einfach es über die Zwischenablage funktioniert.
Über die Zwischenablage bekommst du den Text, nicht die Position und musst diese dann erst noch ermittelt.
Im Regelfall funktioniert das auch. Was mit der Zwischenablage nicht funktioniert, ist wenn du sich wiederholende Textteile hast und du nicht das erste, sondern das zweite vorkommen formatieren willst, also sowas
AAA XXX BBB XXX CCC XXX DDD
Gruß Daniel
Anzeige
AW: Formatierung Teilstring in Zellinhalt
12.03.2023 17:41:17
Roland
Danke Daniel.
Ein Excelanwender markiert den Textstring und ändert
dann z.B. den Text in kursiv. Und auch Textteil kopieren wird er vermutlich kennen.
Mit einfacher meine ich nicht die Programmierung sondern
der Ablauf für Anwender.
Es handelt sich bei der geplanten Funktion um
die Markierung von Zitaten aus Gesetzen in andere Schriftart und kursiv.
Ein Standard.
Ich gehe davon aus, dass das Zitat nur einmal vorkommt da es sonst keinen Sinn ergibt.
Lässt sich ja auch abfangen.
Die Ausgangslage ist zu klären, ob die Vorschläge von chatGBT
überhaupt zielführend sind.
Mit einigen Posts die nicht ins Forum gehören. Nicht zu ändern.
Forumsregeln lesen bevor gepostet wird hilft gegen falsche Aussagen ;-).
Und gegen eine Aussage "meines Wissens nach geht es nicht"
spricht nichts dagegen. In einigen Beiträgen ging es nachher doch.
Vom Programmieraufwand her sehe keine großen Unterschiede.
Ich hab deine Lösung nicht getestet, ob Excel dann bei Textbox start
und length herauslesen kann. Werde vielleicht beide Lösungen mal den
Anwendern vorstellen.
Gruss Roland.
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige