Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
736to740
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
736to740
736to740
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Textbox mit Zeilenumbruch in Zelle übernehmen
26.02.2006 19:44:30
J.L.
Hallo liebe Forumteilnehmer,
ich möchte mit VBA eine größere Anzahl Workbooks durchsuchen.
Muß dabei auch Textboxen durchsuchen
For n = 0 To UBound(c)
If InStr(LCase(verWB.Sheets("tabelle1").Textbox1.Text), LCase(c(n))) 0 Then
vTreffer = vTreffer + 1
End If
Next
If vTreffer 0 Then
ThisWorkbook.Sheets("tabelle1").Cells(y,x)= verWB.Sheets("tabelle1").TextBox1.Text
End If
c ist eine Array mit ca. 20 Suchstrings, verWB ist mit verWB = Workbooks.Open .... geöffnet.
Die Textbox enthält Zeilenumbrüche, die mit Chr(13) erzeugt sind.
Wollte der Einfachheit halber, falls ein Suchstring in der Textbox vorkommt, die ganze Textbox auslesen. Leider bekomme ich nur kryptische Zeichen eingelesen, also Vierecke, die wohl Zeilenumbruch bedeuten.
Kann ich die Textbox auch zeilenweise durchsuchen und ggf. nur die Zeile mit dem Suchstring-Treffer übernehmen?
Wäre für Hilfe sehr dankbar
Jörg

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

Betreff
Datum
Anwender
Anzeige
AW: Textbox mit Zeilenumbruch in Zelle übernehmen
26.02.2006 20:01:32
Luc:-?
Hallo Jörg,
die "kryptischen" Zeichen sind nur eine Voraussetzung für den Zeilenumbruch in einer Zelle. Die 2. ist, dass die Zellausrichtung auch auf Zeilenumbruch eingestellt wird. Also suche im String ggf. nach diesem Zeichen (bzw merke, wenn es eingefügt wurde) und stelle im Existenzfall die entsprechende Cell-Eigenschaft mit deinem Makro auf True. Dann wird es klappen.
Gruß Luc :-?
AW: Textbox mit Zeilenumbruch in Zelle übernehmen
26.02.2006 21:12:36
J.L.
Schade, so funktioniert es leider auch nicht.
Ich bekomme nur 2 Vierecke, egal ob ich das ganze in einer Zelle - mit Zeilenumbruch auf True oder einer MSGbox (die ist ganz leer) anzeigen lasse, und das obwohl in der Textbox Text steht.
Gruß Jörg
Anzeige
AW: Textbox mit Zeilenumbruch in Zelle übernehmen
26.02.2006 22:44:51
MichaV
Hallo,
2 Vierecke, egal ob ich das ganze in einer Zelle - mit Zeilenumbruch auf True
...Dann kann es sich nicht um nur ein Chr(13) handeln, es müssen ja nun mindestens 2 Steuerzeichen sein. Das ist typischerweise Chr(10) und Chr(13), wenn Zeilenumbruch ausgestellt, oder -wenn Du sagst, daß Du nur Chr(13) verwendest- 2 aufeinanderfolgende Chr(13). Wie auch immer, um einen Zeilenumbruch gemäß Lucs Vorschlag zu erzeugen musst Du Chr(10) verwenden. Wenn Du Deinen String so behandelst, sollte es klappen:
ThisWorkbook.Sheets("tabelle1").Cells(y,x)= replace(verWB.Sheets("tabelle1").TextBox1.Text,vbcr,vblf)
Gruß- Micha
PS: Rückmeldung wäre nett.
PPS: oder erzeuge die Umbrüche gleich mit Chr(10)
Anzeige
Danke..
26.02.2006 22:56:47
J.L.
so geht es ganz sicher auch.
Das Problem war aber hausgemacht (siehe "eigene D...")
Danke für die Ausführungen zu Steuerzeichen. Offenbar bringt die 13 auch hier Unglück.
Gruß
Jörg
AW: Danke.. - manche Pgm reagieren nicht ...
27.02.2006 19:08:17
Luc:-?
...adäquat auf Chr(13), Jörg.
Deshalb ist Chr(10) immer besser wie Micha vorgeschlagen hat (nehme ich auch). Aber jeder muss halt seine eigenen Erfahrungen sammeln...
Gruß Luc :-?
AW: Danke..
27.02.2006 20:02:30
Reinhard
Hi Jörg,
lass doch die 13 in Frieden, du benutzt sie ja doch weiterhin oder was meinst du was sich hinter vbcrlf in deinem anderen Posting verbirgt?

Sub tt()
For n = 1 To Len(vbCrLf)
MsgBox Asc(Mid(vbCrLf, n, 1))
Next n
End Sub

Es ist die alte Hexadezimale "DA"-Kombination aus Dos- bzw Schreibmaschinenzeiten und 13 ist nun mal D in Hex.
Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Anzeige
AW: Danke..
27.02.2006 20:46:00
MichaV
Hallo Reinhard,
aber vbCrLf ist nun mal der Standart- Windows- Zeilenumbruch und oft der erfolgreiche Weg.
Mal ne Frage: Mir ist der Zusammenhang/ Ursprung von LineFeed und CarriageReturn schon klar, aber was meinst Du mit "DA"- Kombination?
Gruß- Micha
PS: Rückmeldung wäre nett.
D=13hex / A=10hex - Gruß owT
28.02.2006 03:10:12
Luc:-?
:-?
AW: D=13hex / A=10hex - Gruß owT
28.02.2006 10:07:07
MichaV
Hi Luc,
alles klar, danke!
Gruß- Micha @TXL
eigene D.........
26.02.2006 22:51:23
J.L.
ummheit, wenn man in Textbox A sucht und anschließend Textbox B einliest, wie ich gerade beim Durchgehen des Codes entsetzt feststellte.
Ich entschuldige mich beim Forum.
Ansonsten läßt sich mein Problem relativ leicht mit dem Zweizeiler
Dim Zeilen$()
Zeilen = Split(Textbox_der_Wahl, vbCrLf)
lösen. Hab ich jetzt gefunden, wen's interessiert.
Gruß
Jörg
Anzeige

327 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige