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

String aus externe Datei mit GROSS/klein

String aus externe Datei mit GROSS/klein
10.03.2022 22:28:37
Igor
Hallo Profis!
Ich möchte bestimmte Teile aus der externen Datei rausholen, aber GROSS und Kleinschreibung dabei ignorieren. In der Datei darf nichts geändert werden.
Bis jetzt kann ich nur das rausholen, was ich eingegeben habe: z.B. Text, aber nicht tEXT, TEXT, text, teXT...
Mein Code (verkürzt, weil die Tabelle ist schon wie ein Buch):

QuellDatei = "D:\Inhalt.txt"
DasGesuchte = "Text"
Trennung = "("   ' ab hier wird weiter alles gelöscht.
Open QuellDatei For Input As #1
Do While Not EOF(1)
Line Input #1, InhaltsZeile ' = Inhalt rausholen
 If (InStr(InhaltsZeile, DasGesuchte)) Then          ' hier Fehler, weil nicht "text2, texT oder tExt123" gefunden wird
'''     If (InStr(InhaltsZeile, LCase(Range("START!D15").Value) Like LCase(DasGesuchte))) Then      ' not OK   
SpaltenNr = ActiveCell.Column
ZeilenAnzahl = Cells(Rows.Count, SpaltenNr).End(xlUp).Row
strAktuelleSpalte = Split(ActiveCell.Address, "$")(1)
Range(strAktuelleSpalte & ZeilenAnzahl + 1) = Split(InhaltsZeile, Trennung)
End If
Loop
Close #1    ' Quelldatei schliessen.
Vielleicht mindestens mit *-Stern suchen? Wie: *ext* (für text123 & Text456)
Vielen vielen Dank!

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: String aus externe Datei mit GROSS/klein
10.03.2022 22:37:13
{Boris}
Hi,
ungetestet:
DasGesuchte = "TEXT"
....
If UCASE(InhaltsZeile) Like "*" & DasGesuchte & "*"
VG, Boris
AW: String aus externe Datei mit GROSS/klein
11.03.2022 09:10:21
Igor
Das funktioniert nicht bei mir, aber ein anderer Vorschlag ist sehr gut: If InStr(LCase(InhaltsZeile), LCase(DasGesuchte)) Then
Trotzdem VIELEN DANK! Have a nice day!
AW: String aus externe Datei mit GROSS/klein
10.03.2022 22:58:56
Yal
Hallo Igor,
in VB-Editor platziere den Cursor auf "Instr" und drücke F1. Was Du dann siehst, ist die Onlinehilfe zu "InStr". Nehme Dir die Zeit es zu lesen (jeder der hier gute Rat geben kann, hat sehr viel Zeit beim Lesen verbracht ;-) und die Beispiel anzuschauen (na gut, Beispiel anzuschauen ist ein allgemeine guter Tipp. Im Fall von InStr sind sie leider nicht berauschend...)
InStr hat ein Parameter "compare", dass dazu dient die Vergleichsweise zu steuern. In Fall von einem Text, bei dem der Textinhalt wichtiger als die Klein-/Grossschreibung ist, muss vbTextCompare verwendet werden.

If InStr(InhaltsZeile, DasGesuchte, vbTextCompare) Then
Alternative wäre beide Teile der Vergleich in Klein- oder Grossschreibung zu wandeln (leicht weniger performant):

If InStr (LCase(InhaltsZeile), LCase(DasGesuchte)) Then
InStr liefert (das kann man auch lesen), wenn Treffer, die Stelle des Treffers. Like liefert ein True/False Antwort. Dementsprechend ist
InStr(InhaltsZeile, LCase(Range("START!D15").Value) Like LCase(DasGesuchte))
ziemlich daneben (es sei denn man sucht in der Quelle ob die Wörte "Wahr" oder "Falsch" vorhanden sind, wovon ich nicht ausgehe).
Schöne Freitag und Wochenende
VG
Yal
VG
Yal
Anzeige
AW: String aus externe Datei mit GROSS/klein
11.03.2022 09:04:44
Igor
Danke für F1, aber das ist für mich fachchinesisch. vbTextCompare gibt immer Fehler zurück (es gibt kein Wert in der Zeile). Vorschlag 2 ist perfekt für mich.Ganz einfach, wenn man weis wie das gemacht wird, und Kopfzerbrechen ist weg. Vielen Dank und einen guten Jahr ohne Putin!
AW: String aus externe Datei mit GROSS/klein
11.03.2022 09:35:53
Daniel
HI
die Hilfe solltest du aber lesen lernen, wenn du mit VBA weiter arbeiten will.
was der Kollege vergessen hat, ist dass man bei INSTR entweder nur die beiden Textstrings eingibt, dann wird die Berücksichtigung der Groß/Kleinschreibung so übernommen generell für VBA eingestellt (in der Regel Groß/Kleinschreibung unterscheiden).
Wenn man die vergleichsweise aber im INSTR angeben will, muss man vollständig parametrisieren, dh das Startzeichen, ab dem gesucht werden soll, muss ebenfalls mit angegeben werden.
If InStr(1, InhaltsZeile, DasGesuchte, vbTextCompare) Then
Gruß Daniel
Anzeige
Danke für die Ergänzung
11.03.2022 10:36:06
Yal
Hallo zusammen,
die Schreibweise mit Startposition ist eigentlich mein Standard. Daher habe ich mir an der Stelle zu wenige Gedanken gemacht was passiert wenn es fehlt.
@Igor: "Fachchinesisch"? Also: Schwimmenlernen, aber bitte ohne Wasser?
VG
Yal

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige