Anzeige
Archiv - Navigation
1820to1824
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

VBA "" erlauben, " aber nicht

VBA "" erlauben, " aber nicht
26.03.2021 00:07:25
KK
Hallo zusammen,
ich sitze seit längerem an einem Problem und komme auch mit viel Recherche nicht weiter...
Ich schreibe ein VBA Programm, in dem nach mehreren Sonderzeichen gesucht wird und die entsprechende Zelle rot markiert werden soll. Eines dieser Sonderzeichen ist ein einzelnes " (Anführungszeichen). Dies ist an und für sich ja kein Problem, aber zwei " also ein "" ist erlaubt.
Versucht habe ich es unter anderem mit
If InStr(Zelle.Text, """") > 0 And InStr(Zelle.Text, """""") = 0 Then
Zelle.Interior.ColorIndex = 3
Wenn hier im Text aber steht ' Für 9" wird 10"" verwendet ' dann wird die Zelle nicht rot markiert, denn ein "" ist ja vorhanden (aber leider halt auch das einzelne").
Ein anderer Ansatz von mir wäre gewesen, die einzelnen " einfach mit der Ersetzen Funktion zu verdoppeln (zwei " sind ja erlaubt), aber leider werden dann auch die "" verdoppelt zu """". Wie kann ich die einzelnen " markieren oder alternativ nur diese verdoppeln?
Ich hoffe ihr versteht mein Problem und falls mir jemand helfen kann wäre ich wirklich dankbar!
Lieben Dank im Voraus
KK

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

Betreff
Datum
Anwender
Anzeige
AW: VBA "" erlauben, " aber nicht
26.03.2021 00:18:50
volti
Hallo KK,
funktioniert es vielleicht so?
If InStr(Zelle.text, Chr$(34)) > 0 And InStr(Zelle.text, Chr$(34) & Chr$(34)) = 0 Then
Zelle.Interior.ColorIndex = 3

viele Grüße
Karl-Heinz

AW: VBA "" erlauben, " aber nicht
26.03.2021 00:34:44
KK
Hallo Karl-Heinz,
ich habe deinen Code ausprobiert und es funktioniert leider nicht, trotzdem danke für den Vorschlag!
Wenn ich es einzeln ausprobiere (also nur If InStr(Zelle.text, Chr$(34)) > 0 z.B.) dann werden Zellen rot markiert (genauso wie mit If InStr(Zelle.Text, """") > 0 ) aber leider auch alle, die "nur" zwei Anführungszeichen haben...
Lg
KK

Anzeige
AW: VBA "" erlauben, " aber nicht
26.03.2021 09:04:55
volti
Hallo KK,
noch 'ne Variante:
If InStr(Replace(Zelle.text, Chr$(34) & Chr$(34), ""), Chr$(34)) Then Zelle.Interior.ColorIndex = 3
Gruß KH

AW: VBA "" erlauben, " aber nicht
26.03.2021 11:27:45
KK
Super vielen lieben Dank genau das hat geklappt!

AW: VBA "" erlauben, " aber nicht
26.03.2021 06:27:20
MRUTOR
Hallo,
mein Ansatz dazu waere, die Anzahl der " zu pruefen, ob die Anzahl eine ungerade Zahl ist. Wenn ja, dann ist da ein einzelnes " drin. Denn ein "" und ein " macht z.B. 3. Also ungerade.
Gruss Tor

AW: VBA "" erlauben, " aber nicht
26.03.2021 06:35:48
MRUTOR
Allerdings funktioniert das dann nicht wenn du zwei einzelne " hast. War zu schnell gedacht. :-P

AW: VBA "" erlauben, " aber nicht
26.03.2021 11:31:58
KK
Trotzdem Danke fürs für Nachdenken !

Anzeige
AW: VBA "" erlauben, " aber nicht
27.03.2021 08:15:54
Oberschlumpf
und wieso haste den Thread weiter als offen markiert? du hattest doch eine brauchbare lösung erhalten - versteh ich jetzt nich

AW: VBA "" erlauben, " aber nicht
26.03.2021 08:14:38
ChrisL
Hi
Wie wärs hiermit:
=LÄNGE(WECHSELN(A1;"""""";""))=LÄNGE(WECHSELN(A1;"""";""))
(VBA: Len und Replace)
cu
Chris

AW: VBA "" erlauben, " aber nicht
26.03.2021 11:28:57
KK
Hi Chris,
danke für deinen Ansatz, habe mich jetzt auf die Antwort von KH eingeschossen, werden deinen aber auch nochmal ausprobieren!
Lg

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige