Live-Forum - Die aktuellen Beiträge
Datum
Titel
17.10.2025 10:28:49
16.10.2025 17:40:39
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

VBA: feste Zeichenlänge erzeugen

Forumthread: VBA: feste Zeichenlänge erzeugen

VBA: feste Zeichenlänge erzeugen
17.06.2024 08:34:17
MarC
Hallo zusammen,

ich hoffe ich kann mein Problem richtig schildern. Ich ziehe aus einem Protokoll Messwerte. Die Messwerte beginnen z.B. ab dem 8 und sind meistens 6 Zeichen lang. Jetzt habe ich das Problem das die länge zwischen 5 und 8 schwanken kann. Mit meinem aktuellen Code kann ich das nicht abfangen und habe auch keine praktikable Lösung. Ich hoffe das hier jemand eine Idee hat. Eine meiner Abfragen sieht z.B. so aus:

Sheets("Ergebnisliste").Cells(89, 9) = CDbl(Mid(Sheets("Messprotokoll").Cells(rng.Row + 1, rng.Column + 1), 8, 6) )


VG
MarC
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA: feste Zeichenlänge erzeugen
17.06.2024 08:51:09
daniel
HI
Zeig mal ein paar Zellwerte und markiere, welche Werte du daraus verwenden möchtest.
wenn flexible Textlängen hat, muss man mit Trennzeichen arbeiten, da muss man aber sehen, was man hat.
bei Excel365 sollte man schauen, ob man das nicht auch per Formel lösen kann.
Gruß Daniel
AW: VBA: feste Zeichenlänge erzeugen
17.06.2024 21:50:18
Oppawinni
Naja, wenn alles ab dem 8ten Zeichen deine zahl ist....
z.B. mit Formel
=Wert(RECHTS(J90;LÄNGE(J90)-7))
oder
=--RECHTS(J90;LÄNGE(J90)-7)
Anzeige
AW: VBA: feste Zeichenlänge erzeugen
17.06.2024 09:03:26
MarC
Hallo Daniel,

die Zellenwerte sehen wie folgt aus:

[1] = '0,0123'
[2] = '-0,4631'
[3] = '0,234'
usw.

Manchmal ändert sich auch das Vorzeichen bzw. steht dann ein Minus davor das den String dann verlängert. Eine Fehlermeldung erhalte ich nur wenn das Ergebnis 5 anstatt 6 Zeichen lang ist.

Gruß
MarC
Anzeige
AW: VBA: feste Zeichenlänge erzeugen
17.06.2024 09:12:45
daniel
HI
als Formel könntest du einfach das hier verwenden:

=--TEXTVOR(TEXTNACH(A1;"'");"'")

=--INDEX(TEXTTEILEN(A1;"'");2)


per VBA könntest du die Formel einfügen und ggf kopieren und als Wert einfügen.

wenn du in VBA Einzelwerte bearbeiten musst, kannst du den Wert so extrahieren:

CDBL(Split(Sheets("Messprotokoll").Cells(rng.Row + 1, rng.Column + 1), "'")(1))


Gruß Daniel
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige