Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.04.2024 14:18:05
28.04.2024 13:43:14
Anzeige
Archiv - Navigation
1768to1772
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
Markierten Text in Zelle formatieren
27.06.2020 09:07:24
Michael
Hallo und guten Tag zusammen,
ich bin gespannt, ob es für meine Problem eine Lösung gibt.
Ich möchte innerhalb einer Zelle Text markieren und dann per Makro eine Formatierung vornehmen. Wenn ich das per Makroaufzeichnung versuche, dann wird entweder immer die ganze Zelle formatiert oder aber genau der eine Text, den ich im Beispiel verwendet habe :(
Das muss doch anders gehen, oder?
Viele Grüße
Michael

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Markierten Text in Zelle formatieren
27.06.2020 09:20:11
Beverly
Hi Michael,
du kannst höchstens vorher vorgeben, welche Buchstabenkombination formatiert werden soll, jedoch nicht, wenn du die Zelle bereits editiert hast und die Buchstabenkombination markiert ist.


AW: Markierten Text in Zelle formatieren
27.06.2020 09:58:06
Michael
Hallo Karin,
danke für die schnelle Antwort.
Das heisst aslo, ich kann den markierten Text in einer Zelle gar nicht auslesen und in irgendeiner Form weiter bearbeiten?
Viele Grüße
Michael
AW: Markierten Text in Zelle formatieren
27.06.2020 10:11:04
Beverly
Hi Michael,
das geht schon:
Sub FettKursiv()
With Selection.Font
.Bold = True
.Italic = True
End With
End Sub
aber das Problem ist, das Makro dann zu starten - du kannst es ja nicht über das Register aufrufen oder mit einer zugewiesenen Tastenkombination. Du müsstest in den VBA-Editor gehen und es dort mit F8 starten, wobei du vorher den Cursor in die Codezeilen setzen musst.


Anzeige
AW: Markierten Text in Zelle formatieren
27.06.2020 10:08:42
Daniel
Hi
Das kann so nicht funktionieren, weil Makros gesperrt sind, sobald du in den Bearbeitungsmodus gehst. Dh. bevor das Makro starten kann, muss erst der Bearbeitungsmodus beendet werden und damit ist die Markierung innerhalb der Zelle weg.
Spontan würde mir nur folgender Workaround einfallen:
1. Du kopierst per STRG+C den markierten Text in die Zwischenablage
2. Das Makro liest den Text aus der Zwischenablage aus, sucht ihn in der Markierten Zelle (ermittelt die Position) und führt dann die Markierung durch.
Es sollte im WWW genügend Beispiele geben, wie man Text aus der Zwischenablage ausliest.
Gruß Daniel
Anzeige
AW: Markierten Text in Zelle formatieren
27.06.2020 13:12:43
Daniel
Hi
noch ne Variante, wie gesagt, dass Problem ist, wenn du in die Zelle hinein geklickt hast, ist VBA gesperrt. Die Methode von Beverly funktioniert bei mir (Excel 2010) auch nicht, weil ich dann den VBA-Editor gar nicht erst aktivieren kann.
folgendes geht:
1. erstelle auf dem Blatt eine Textbox und einen Commandbutton.
2. füge im Modul des Tabellenblatts folgende zwei Makros hinzu:
das Selection-Change-Marko verknüpft die Textbox mit der aktiven Zelle, so dass der Inhalt der Aktiven Zelle in der Textbox erscheint.
Dann markierst du den Text in der Textbox und klickst dann auf den Button um die Färbung durchzuführen.
Der Buttoncode schaut, was in der Textbox selektiert ist und färbt dann diesen Text in der _ Zelle.

Private Sub CommandButton1_Click()
Dim L As Long, P As Long
With TextBox1
L = .SelLength
P = .SelStart + 1
End With
If L > 0 Then
With ActiveCell.Characters(P, L)
.Font.Bold = True
.Font.Color = vbRed
End With
End If
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
TextBox1.LinkedCell = ActiveCell.Address
End Sub

Gruß Daniel
Anzeige
AW: Markierten Text in Zelle formatieren
27.06.2020 14:57:03
Beverly
@Daniel,
meine Variante funktioniert nur dann, wenn der VBA-Editor bereits gestartet wurde, weil man dann zum VBA-Editor wechseln kann - vielleicht geht das auch in Excel2010.
@Michael,
ich würde den zu formatierenden Teil-Text einfach in eine Zelle (z.B. C3) schreiben - dann kannst du ihn mit folgendem Makro deinen Wünschen entsprechend bearbeiten:
Sub FettKursiv()
Dim lngZaehler As Long
For lngZaehler = 1 To Len(ActiveCell) - Len(Range("C3")) + 1
If Mid(ActiveCell, lngZaehler, Len(Range("C3"))) = Range("C3") Then
With ActiveCell.Characters(lngZaehler, Len(Range("C3"))).Font
.Bold = True
.Italic = True
End With
Exit For
End If
Next lngZaehler
End Sub


Anzeige
AW: Markierten Text in Zelle formatieren
27.06.2020 15:08:58
Daniel
Hi
Naja der Editor war natürlich geöffnet, weil ich ja das Makro schreiben musste.
Tut aber nicht, wenn man in der Bearbeitungszeile drin ist, ist ein Wechsel nicht möglich.
Mit welcher Version arbeitest du?
Gruß Daniel
AW: Markierten Text in Zelle formatieren
27.06.2020 21:03:29
Beverly
Hi,
ich arbeite mit Excel2016, aber mit Alt+Tab solltest du auch bei Excel2010 zum VBA-Editor gelangen.


AW: Markierten Text in Zelle formatieren
28.06.2020 13:33:59
Daniel
tatsächlich es geht.
Das ist zwar jetzt nicht besonders komfortabel (einem Anwender würde ich das nicht zumuten wollen), aber es funktioniert, auch mit Excel 2010 (in Windows 10)
Allerdings habe ich noch eine Einschränkung festgestellt:
bei mir funktioniert das nur für bestimmte Formate.
Wenn ich diesen Code auf die beschriebene Weise ausführe:
Sub test()
With Selection.Font
.Bold = True
.Underline = True
.Strikethrough = True
.Color = vbRed
End With
End Sub

dann werden nur die ersten drei Formate ausgeführt (Fett, unter- und durchgestrichen), die Farbe bleibt.
Wendet man den Code auf die ganze Zelle an, dann wird auch die Farbe geändert, beim Formatieren eines Teiltextes jedoch nicht.
Gruß Daniel
Anzeige

306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige