Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1384to1388
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

text abschneiden ab bestimmtem position

text abschneiden ab bestimmtem position
09.10.2014 16:20:15
Kempel
Hallo zusammen, ich hab folgendes Problem:
im A1 in jeder Zelle habe ich texte mit manchmal mehr als 500 Zeichen.
ich brauche aber die texte nur bis max. 500 Zeichen im A1.
Ich möchte mit hilfe VBA-Schleife Zelleninhalt prüfen und wenn text mehr als 500 Zeichnen hat, ersten punkt von rechts suchen und danach alle zeichen vom text entfernen.
z.B.
A1 hat mehr als 500 Zeichen und beinhaltet folg. text:
abracadabra abracadabra.....abracadabra.abc
es soll sein:
abracadabra abracadabra.....abracadabra.
A1 hat mehr als 500 Zeichen und beinhaltet folg. text:
abracadabra abracadabra.....abracadabra.abcdef
es soll sein:
abracadabra abracadabra.....abracadabra.
usw.
Hoffe auf eure Hilfe.
Grüße Andre

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: text abschneiden ab bestimmtem position
09.10.2014 16:40:39
Daniel
Hi

dim arr
dim z as long, pos as long
with ActiveSheet.Usedrange.Columns(1)
arr = .Value
for z = 1 to Ubound(arr, 1)
if len(arr) > 500 Then
pos = InstrRev(arr(z, 1), ".")
if pos > 0 Then arr(z, 1) = Left(arr(z, 1), pos)
end if
next
.value = arr
end with
Gruß Daniel

AW: text abschneiden ab bestimmtem position
10.10.2014 00:17:27
Ewald
Hallo Daniel,
muß es nicht
If Len(arr(z, 1)) > 500 Then
heißen,
auch meine ich, das
InStrRev(arr(z, 1), ".")
den letzten Punkt nimmt und nicht den ersten Punkt der nach dem 500dersten Zeichen kommt.
Gruß Ewald

Anzeige
Mit der 1.Anmerkung hast du recht, ...
10.10.2014 01:02:21
Luc:-?
…Ewald,
das hat Daniel wohl nur schlicht vergessen/übersehen, denn in der nächsten Zeile steht's ja so. Und mit der 2.Anmerkung liegst du auch richtig, denn hier hätte erst mal der Teil-String gebildet wdn müssen, also: pos = InstrRev(Left(arr(z, 1), 500), ".")
Das mal ganz abgesehen davon, dass ich das etwas anders, nämlich mit einer (auch in ZellFmln) universell einsetzbaren UDF*, gelöst hätte. Aber sicher war das ja auch nur als CodeBsp gedacht, wobei ja wenigstens noch die 500 als Const hätte deklariert wdn können…
* Dabei ziehe ich es vor, echte Werte-Arrays zu verwenden (nicht ObjektReferenzen) und diese in solchen Fällen auch in einen 1dimensionalen Vektor zu wandeln.
Gruß, Luc :-?
Besser informiert mit …

Anzeige
AW: text abschneiden ab bestimmtem position
10.10.2014 08:43:54
Daniel
Hi
1. Stimmt, da hab ich hab ich den Index vergessen.
2. Das hab ich so umgesetzt, wie es Kempel sich gewünscht hat "ersten Punkt von rechts suchen und danach abschneiden".
Der erste Punkt von rechts ist der letzte von Links. Dass mit dieser Methode der Resttext auch mal länger als 500 Zeichen sein kann ist mir bewusst, aber so hat er es beschrieben.
Ansonsten kann man auch in der Hilfe zu InstrRev nachlesen, dort steht sicherlich beschrieben, wie man die Suche nicht beim letzten, sondern beim 500. Zeichen beginnen kann, ähnlich wie beim normalen Instr auch.
Gruß Daniel

Anzeige
Meinst du nicht, dass du es dir mit dieser AW ...
10.10.2014 14:38:40
Luc:-?
…(speziell zum 2.Pkt) etwas zu einfach machst, Daniel…?! :->
Gruß, Luc :-?

AW: Meinst du nicht, dass du es dir mit dieser AW ...
10.10.2014 15:05:17
Daniel
nö, mein ich nicht.
Gruß Daniel

Da stand auch maximal 500! Und wer Andere ...
11.10.2014 03:55:12
Luc:-?
…wg solcher „Kleinigkeiten“ kritisiert und den Test auch noch des/r trivialsten PgmCodes/Fml verlangt, Daniel,
sollte sich dann nicht selbst „ins Glashaus setzen“, sprich das machen, was er bei Anderen rügt… :->
Luc :-?

304 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige