Anzeige
Archiv - Navigation
1924to1928
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

Teilstring in anderer Textfarbe ersetzen

Teilstring in anderer Textfarbe ersetzen
15.03.2023 10:23:40
mb12

Hallo lieber Helfer,
Bei Alarmmeldungen für einen Spezialkunden müssen englische Teilstrings in Spalte F, die an ihrer blauer Schriftfarbe erkennbar sind, durch die spanische Übersetzung aus Spalte C ersetzt werden - die Farbe blau muss so bleiben.
Die Daten habe ich aus Word zur Bearbeitung nach Excel exportiert, sie müssen am Schluß wieder nach Word zurückkopiert werden.
Erschwernis: Die Meldungen aus Word beginnen alle mit einem "-" und werden natürlich in Excel als Formel interpretiert.
In Word spielt das ja keine Rolle, die Struktur darf auch nicht geändert werden.
Wäre für eine Lösung dankbar. Makro? bedingte Formatierung?
Vielen Dank im Voraus :-)

Hier die Beispieldatei:
https://www.herber.de/bbs/user/158264.xlsx

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Teilstring in anderer Textfarbe ersetzen
15.03.2023 10:34:46
onur
"Makro? bedingte Formatierung?" Nee, Auftragsprogrammierung.
Abgesehen davon, das Problem ist ideal für eine Word-Lösung, wieso also in Excel lösen wollen ?


AW: Teilstring in anderer Textfarbe ersetzen
15.03.2023 11:05:57
mb12
Hallo Onur,

so wie heute von dir wurde ich in 13 Jahren Herber nicht abgebürstet.

1. Sicher gibt es auch in Word eine Lösung, nur kenne ich mich eben in VBA Word gar nicht aus.

2. Und wenn du meinst, dass z.B. eine bedingte Formatierung eine Auftragsprogrammierung wäre - ich denke, dass andere Helfer, die mich seit Jahren kennen, das etwas anders sehen.

Margarete


AW: Teilstring in anderer Textfarbe ersetzen
15.03.2023 11:21:35
Fennek
Hallo Magereta,

mit einem vorgestellten ' wird alles folgende als Text interpretiert.


Tx = "'" & "Formel"
mfg


Anzeige
AW: Teilstring in anderer Textfarbe ersetzen
15.03.2023 12:11:15
mb12
Hallo Fennek,

genau das hatte ich bereits versucht. Problem: Danach ist die 2. Farbe weg

Trotzdem danke :-)


AW: Teilstring in anderer Textfarbe ersetzen
15.03.2023 11:24:24
Daniel
Hi
gar nicht mal so schwer.
das umwandlen in Formel verhindert man durch das Voranstellen des Texterkennungszeichen Hochkomma.
du musst noch prüfen, ob durchgänig immer die gleichen Anführungszeichen verwendet werden, die Start und Ende des zu ersetzenden Textes kennzeichnen.
hier sind es unterschiedliche Anführungszeichen mit dem Zeichencode 34 (Anfang) und 147 (Ende)

Sub test()
Dim Zelle As Range
Dim P1 As Long, P2 As Long
Dim Talt As String
Dim Tneu As String
Dim Tspain As String

For Each Zelle In Range(Cells(2, "F"), Cells(1, "F").End(xlDown))
    Talt = Zelle.Value
    Tspain = Zelle.Offset(0, -3).Value
    P1 = InStr(1, Talt, Chr(34))
    P2 = InStr(P1 + 1, Talt, Chr(147))
    Tneu = "'" & Left(Talt, P1) & Tspain & Mid(Talt, P2)
    Zelle.Value = Tneu
    Zelle.Characters(Start:=P1 + 1, Length:=Len(Tspain)).Font.Color = vbBlue
Next

End Sub
Gruß Daniel


Anzeige
AW: Teilstring in anderer Textfarbe ersetzen
15.03.2023 12:15:38
mb12
Hallo Daniel,

hab viiielen Dank, werde ich schnellst möglich testen.

Bin eigentlich seit 1.3. im Ruhestand, arbeite aber 21 h/Woche in unserem Team "technische Übersetzungen" weiter, und da gibt es noch enormen Optimierungsbedarf in und mit Excel - das Leben wäre sonst viel zu langweilig.

LG, Margarete :-)


AW: Teilstring in anderer Textfarbe ersetzen
15.03.2023 13:48:04
mb12
Hallo Daniel,

habe das Makro erst mal unverändert getestet.
Einzelne Zeilen funktionieren, aber dann kommt

Laufzeitfehler '5': Ungültiger Prozeduraufruf oder ungültiges Argument bei
Tneu = "'" & Left(Talt, P1) & Tspain & Mid(Talt, P2)

"Eigentlich" müssten die Charaktere in allen unverändert vorliegenden Zellen in Spalte F korrekt sein, denn die Daten samt Struktur kommen aus einem Programm. Ich vermute aber, dass in der Vergangenheit schon mal daran gebastelt wurde.

Frage: Wie erkenne ich wo die korrekten bzw. falschen Charaktere sind bzw. wie korrigiere ich falsche?
In 1000 Zeilen wäre es sehr aufwendig, wenn ich jede Zelle manuell über suchen und ersetzen korrigieren müsste.

LG, Margarete


Anzeige
AW: Teilstring in anderer Textfarbe ersetzen
15.03.2023 14:07:44
Daniel
Hi
wenn einzelne Zeilen funktionieren und andere nicht, dann musst du dir die Zeile, die den Fehler verursacht, genau anschauen.
welche Zeile das ist, findest raus, in dem du nach einem Fehlerabbruch im Direktfenster den Befehl ?Zelle.Row eingibst, dann bekommst du die Zeilennummer angezeigt.
Hier musst du mal schauen, was der Unterschied zu den anderen Zeilen ist
ebenso ist es hilfreich, die anderen Variablen, die in dieser Programmzeile verwendet werden, genauer anzuschauen. das geht ebenfalls im Direktfenster mit ?Varialbenname, oder indem du im Codefenster mit der Maus über die Variable fährst.
ich vermute mal, dass hier die Anführungzeichen anders sind.
Aber wie gesagt, bevor man da was programmiert, musst du erstmal schauen, welche Problemfälle vorliegen, was hier das Problem ist und wie in diesem Fall vorgegangen werden soll (das musst du festlegen)
um den nächsten Problemfall zu fnden, kannst du dann die gelbe Markierung auf NEXT ziehn und mit F5 (normal weiter machen) oder F8 (nur nächster Programmschritt) das Marko weiterlaufen lassen.

Gruß Daniel


Anzeige
AW: Teilstring in anderer Textfarbe ersetzen
15.03.2023 14:21:02
mb12
danke schön - wieder dazugelernt! So mache ich es.


AW: Teilstring in anderer Textfarbe ersetzen
21.03.2023 13:33:30
mb12
Hi,
mittlerweile habe ich es anders gelöst: Mittels Teilergebnis in mehrere Spalten aufgeteilt, alle Anführungsstriche in den betreffenden Spalten gelöscht und mit der anderen Sprache sowie den korrekten Anführungsstrichen wieder "vereint". So kann im Notfall auch meine Kollegin tätig werden.

Trotzdem nochmal vielen Dank für die Unterstützung - ist in meinem Fundus.

LG, Margarete

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige