Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1328to1332
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

bestimmte Wörter formatieren

bestimmte Wörter formatieren
16.09.2013 21:51:04
Mario
Hallo Allerseits,
ich muss nochmal um eure Hilfe bitten:
In meinem Bereich A1-D24 möchte ich bestimmte Texte formatieren. In den verschiedenen Zellen steht z.B. "Franfurter Str.7 (Baustelle)", "Leipz. Str.9 (Baustelle)". Das Wort (Baustelle) würde ich gern in einer anderen Textfarbe hervorheben. Das selbe trifft auch für andere in bestimmte Wörter zu. Da ich von VBA zu wenig Ahnung habe, würde ich mich über eure Hilfe freuen.
Gruß
Mario

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: bestimmte Wörter formatieren
16.09.2013 22:13:39
{Boris}
Hi Mario,
Option Explicit
Sub Formatiere()
Dim C As Range, i As Long
Const Suchbegriff As String = "(Baustelle)"
For Each C In Range("A1:D24")
If C Like "*" & Suchbegriff & "*" Then
i = InStr(1, C, Suchbegriff)
C.Characters(i, Len(Suchbegriff)).Font.Bold = True
End If
Next C
End Sub
VG,
Boris

Das ist übrigens nur FETT...
16.09.2013 22:16:01
{Boris}
...für eine andere Farbe lautet die Zeile:
C.Characters(i, Len(Suchbegriff)).Font.ColorIndex = 3 'rot
VG, Boris

AW: Das ist übrigens nur FETT...
17.09.2013 08:29:22
Mario
Hallo Boris,
danke vielmals.
Bei:
C.Characters(i, Len(Suchbegriff1)).Font .Name = "Arial"
kommt immer: "Unzulässiger oder nicht ausreichend definierter Verweis" (Woran liegt das?
Alles andere hab ich in den Griff bekommen.
Gruß Mario

Anzeige
AW: Das ist übrigens nur FETT...
17.09.2013 08:33:30
Hajo_Zi
Hallo Mario,
.FontStyle = "Arial"

AW: Das ist übrigens nur FETT...
17.09.2013 08:54:29
Mario
Hallo Hajo,
hatte ich auch schon versucht - geht nicht:
"Objekt unterstützt diese Eigenschaft oder Methode nicht"
Noch eine Frage:
Wenn ich ein * auf die selbe Weise formatieren möchte, wird in allen Zellen im Bereich ohne * der 1. Buchstabe formatiert. In Zellen mit * richtigerweise das *. Ich glaube da muss man anders rangehen, wie?
Const Suchbegriff6 As String = "*" 'hab ich bis jetzt probiert
Gruß Mario

Anzeige
AW: Das ist übrigens nur FETT...
17.09.2013 08:55:45
Hajo_Zi
suchen nach "~*"
Gruß Hajo

ich sehe schon Sternchen
17.09.2013 09:24:27
Mario
Es wird nichts gefunden. Nun hab ich es mit Suchen/Ersetzen probiert und aufgezeichnet. Mit ~* wird zwar das * gefunden, aber wenn ich mit * oder ~* anders formatiert ersetzen will, formatiert sich der ganze Inhalt. Ersetze ich mit einem Buchstaben, geht's. Mmm das * ist hier etwas besonderes.
Gruß Mario

AW: ich sehe schon Sternchen
17.09.2013 09:55:28
Hajo_Zi
Hallo Mario,
bei mir geht es so
ActiveCell = Application.Substitute(ActiveCell, "*", "wert")
Gruß Hajo

Anzeige
AW: ich sehe schon Sternchen
17.09.2013 10:07:47
Mario
Hallo Hajo,
ich komme da leider nicht mit. Ich bräuchte da wohl den Code von vorn bis hinten.
Gruß
Mario

Den Code von vorn bis hinten....
17.09.2013 10:27:09
vorn
ist ja ein schöner Ausdruck, Mario
Nur, was soll er uns sagen.
Deine erste Anfrage war noch einigermassen klar in den Anforderungen:
Der Begriff (Baustelle) oder einen anderen Begriff in einer anderen Textfarbe.
Dazu wurde dir ein funktionierender und IMHO verständlicher Code geliefert.
Aus Farben wurden dann plötzlich Fonts. Aus Begriffen * (Bei welchem es sich auch um den sog. Wildcard-Character handelt). Was also willst du?
Gruess Hansueli

Anzeige
AW: Den Code von vorn bis hinten....
17.09.2013 10:52:20
vorn
Hallo Hansueli,
ich kann deinen Unmut verstehen. Ich dachte, dass ich * gleichermaßen behandeln bzw. anpassen kann, wie Textzeichen. "Baustelle" zu z.B. "Werkstoffe" abändern, ist offenbar kein Problem.
Das ein * kein übliches Schriftzeichen ist, wusste ich bei der Fragestellung nicht.
Ich habe auch einzelne *, die ich formatieren möchte.
Gruß Mario

AW: Den Code von vorn bis hinten....
17.09.2013 11:57:15
vorn
Hallo,
Sub Formatiere()
Dim C As Range, i As Long, j As Integer, arrSuch
arrSuch = Array("(Baustelle)", "*") 'anpassen
For Each C In Range("A1:D24")
For j = 0 To UBound(arrSuch)
i = InStr(1, C, arrSuch(j))
If i Then
With C.Characters(i, Len(arrSuch(j)))
.Font.Bold = True
.Font.Color = vbRed
End With
End If
Next j
Next C
End Sub

Gruß
Rudi

Anzeige
Sternstunde beendet
17.09.2013 12:19:21
Mario
Hallo Rudi,
DANKE.
Gruß Mario

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige