Anzeige
Archiv - Navigation
492to496
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
492to496
492to496
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Gross- und Kleinschreibweise beim Markieren

Gross- und Kleinschreibweise beim Markieren
04.10.2004 23:02:03
KlausF
Hallo Forum,
Das folgende Makro markiert ein gefundenes Wort in einer Textzelle:

Sub Suchwort_Color()
Dim leng As Integer
Dim strt As Integer
Dim TMP As String
' das zu markierende Wort steht im Tabellenblatt 'Sammlung' Zelle 'J1'
' am Anfang und Ende mit * gekennzeichnet
With Worksheets("Sammlung").Range("J1")
leng = Len(.Value) - 2
' gesuchtes Wort ohne führendes * und abschließendes *
TMP = Mid(.Value, 2, leng)
End With
' Startposition des zu suchenden Wortes
strt = InStr(Worksheets("Zitate").Range("C8"), TMP)
'einfärben
Worksheets("Zitate").Range("C8").Characters(strt, leng).Font.ColorIndex = 40
End Sub

Das Makro funktioniert, findet allerdings nur die genaue Schreibweise. Ich möchte
allerdings sowohl klein- wie auch gross geschriebenen Wörter markiert haben.
Beispiel:
Suchworteingabe ist "Liebe"
Gefunden und markiert werden sollte "Liebe" aber auch "liebe" von z.B. "liebevoll".
Wie muss ich das Makro ändern?
Danke im voraus für Antworten
Klaus
UCase / LCase...oT
Boris
Das war nix, oder? oT
K.Rola
oT
Mmmmh...
Boris
Hi K.Rola,
...hatte mir den Code jetzt nicht genau angesehen - was hab ich übersehen?
Grüße Boris
AW: Mmmmh...
K.Rola
"Gefunden und markiert werden sollte "Liebe" aber auch "liebe" von z.B. "liebevoll".
Gruß K.Rola
O.K. - das "...voll" bleibt damit außen vor..
Boris
Hi K.Rola,
...damit ist aber der gesamte vorhandene Code unbrauchbar. Dann muss man noch das nächste und/oder vorherige Leerzeichen suchen - oder auch ein Komma oder den Punkt (" Wir verlieben uns irgendwann alle").
Hier lass ich dir den Vortritt.
Grüße Boris
Versteh ich nicht
05.10.2004 00:01:53
KlausF
Hallo Boris,
das verstehe ich nicht: wieso müssen dann noch das nächste und/oder vorherige
Leerzeichen gesucht werden - oder Komma oder Punkt ?
Bei Deinem Beispiel "Wir verlieben uns irgendwann alle" soll nicht das ganze
Wort markiert werden, sondern nur der Teilstring "liebe".
Oder hab ich da was falsch verstanden? Bin leider nicht so VBA-fit.
Gruss
Klaus
Anzeige
Dann bleib ich bei LCase und UCase...
Boris
Hi Klaus,
...lad mal ein kleines Beispiel hoch.
Grüße Boris
Schon erledigt
05.10.2004 00:26:41
KlausF
Hallo Boris,
Die Lösung von Hansueli mit "UCase(TMP)" war doch richtig.
Vielen Dank für Deine "Nachtarbeit" und einen schönen Abend noch.
Klaus
AW: Mmmmh...
ups,
AW: Gross- und Kleinschreibweise beim Markieren
EtoPHG
Hallo Klaus
Ändere die 4 letzte Zeile auf:
strt = InStr(UCase(Worksheets("Zitate").Range("C8")), UCase(TMP))
Gruss Hansueli
AW: Gross- und Kleinschreibweise beim Markieren
Udo
Gefunden werden soll aber auch "Liebe" aber auch "liebe" von z.B. "liebevoll".
Da hilft Ucase auch nicht allein!
Udo
AW: Gross- und Kleinschreibweise beim Markieren
EtoPHG
Hallo Udo,
Verstehe ich nicht, wenn ich nur GROSSES mit nur GROSSEM vergleiche, muss das doch klappen?
Gruss Hansueli
Anzeige
AW: Gross- und Kleinschreibweise beim Markieren
KlausF
Hallo Hansueli,
danke für die bisherigen Antworten und zur Erklärung:
es soll nicht GROSSES mit nur GROSSEM verglichen werden sondern:
der Anfangsbuchstabe kann groß oder klein sein ...
Klaus
AW: Gross- und Kleinschreibweise beim Markieren
EtoPHG
Hallo Klaus,
Meine Lösung findet ûnd markiert nur den Suchbegriff, aber es kommt dabei nicht auf die Gross/kleinschreibung an. Wenn Du allerdings das ganze Wort (also liebevoll bei Liebe) markiert haben willst, wird kompliziert.
Gruss Hansueli
P.S. Ich glaube Reinhards Lösung läuft aufs gleiche hinaus.
AW: Gross- und Kleinschreibweise beim Markieren
05.10.2004 00:12:02
KlausF
Hallo Hansueli,
die Lösung soll ja auch nur den Suchbegriff markieren,
aber bei Deiner Lösung bekomm ich nicht das gewünschte Resultat (?)
Gruss
Klaus
Anzeige
Das wars doch. Danke!
05.10.2004 00:21:56
KlausF
Hallo Hansueli,
Deine Lösung war doch richtig, der Fehler lag in einer Abfrage,
die ich davor gesetzt hatte ...
Vielen Dank für Deine Mühe und auch Dank an alle anderen!
Klaus
AW: Gross- und Kleinschreibweise beim Markieren
Reinhard
Hi Klaus,

Sub Suchwort_Color()
Dim strt As Integer, TMP As String
TMP = UCase(Replace(Worksheets("Sammlung").Range("J1"), "*", ""))
strt = InStr(UCase(Worksheets("Zitate").Range("C8")), TMP)
Worksheets("Zitate").Range("C8").Characters(strt, Len(TMP)).Font.ColorIndex = 40
End Sub

Gruß
Reinhard
AW: Gross- und Kleinschreibweise beim Markieren
04.10.2004 23:51:18
Sub
Hallo Reinhard,
Danke für die Antwort,
ich bekomme die Meldung
Sub oder Funktion nicht definiert
für das Wort "Replace"
vielleicht ein Problem der Excel-Version?
Gruss
Klaus
Anzeige
AW: Gross- und Kleinschreibweise beim Markieren
Reinhard
Hi Klaus, probiers mal so:

Sub Suchwort_Color()
Dim strt As Integer, TMP As String
TMP = UCase(Mid(Worksheets("Sammlung").Range("J1"), 2, Len(Worksheets("Sammlung").Range("J1") - 2)))
leng = Len(TMP)
strt = InStr(UCase(Worksheets("Zitate").Range("C8")), TMP)
While Mid(Worksheets("Zitate").Range("C8"), strt - 1, 1) <> " "
strt = strt - 1
leng = leng + 1
Wend
While Mid(Worksheets("Zitate").Range("C8"), strt + leng, 1) <> " "
leng = leng + 1
Wend
Worksheets("Zitate").Range("C8").Characters(strt, leng).Font.ColorIndex = 40
End Sub

Gruß
Reinhard
Anzeige
Typen unverträglich
05.10.2004 00:08:25
KlausF
Hallo Reinhard
Meldung ist "Typen unverträglich" bei
TMP = UCase(Mid(Worksheets("Sammlung").Range("J1"), 2, Len(Worksheets("Sammlung").Range("J1") - 2)))
Gruss
Klaus
Ich klink mich aus, und versteh die Welt nicht meh
EtoPHG
Hansueli
jetzt aber:-)
Reunhard
Hi Klaus,
https://www.herber.de/bbs/user/11671.xls
mit dem Code(A1, Tabellenname usw musste anpassen):

Sub Suchwort_Color()
Dim strt As Integer, TMP As String
TMP = UCase(Mid(Worksheets("Tabelle1").Range("A1").Value, 2, Len(Worksheets("Tabelle1").Range("A1").Value) - 2))
leng = Len(TMP)
strt = InStr(UCase(Worksheets("Tabelle2").Range("A1")), TMP)
While Mid(Worksheets("Tabelle2").Range("a1"), strt - 1, 1) <> " "
strt = strt - 1
leng = leng + 1
Wend
While Mid(Worksheets("Tabelle2").Range("a1"), strt + leng, 1) <> " "
leng = leng + 1
Wend
Worksheets("Tabelle2").Range("a1").Characters(strt, leng).Font.ColorIndex = 40
End Sub


Sub wechdamit()
Range("A1").Font.ColorIndex = 0
End Sub

Gruß
Reinhard
Anzeige
eeeeh, super
05.10.2004 01:37:13
KlausF
Hallo Reinhard,
vielen Dank für Deine Lösung ... sie markiert ja sogar
das ganze Wort. Ist ne super Variante!
Gute Nacht und nochmals Danke
Klaus

187 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige