Clever-Excel-Forum

Normale Version: Feldmanipulation mit Split und Joint
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Ein schönen guten Abend,

ich habe ein kleines Problem.  In meiner Spalde D befinden sich von D1 bis D6 folgende Werte (Nur beispielhaft)

[
Bild bitte so als Datei hochladen: Klick mich!
]
Diese Werte lese ich mit folgendem Code ein:
Code:
Dim varQ As Variant
varQ = Range("D1:D6")

Wie ihr seht sind die Werte in den einzelnen Zellen mit einer Raute # als Delimiter von einander getrennt, so dass entsprechend die Split und Joint - Funktionen  zum Einsatz kommen.
Wie bekomme ich es jetzt unter dem Einsatz der Split Funktion hin, das z.B. der "Wert 35" in Zeile 5 durch "NeuerWert 88" ersetzt wird.

Ich hoffe ihr könnt mir helfen. Danke.
Zitat: Feldmanipulation mit Split und Joint

Hast du vielleicht gerade einen Joint geraucht? Das würde ja erklären, dass du nicht Join anwendest, ein Range als Variant deklarierst (oder soll das ein Array werden?), … Angel
(Sorry, ich konnte nicht widerstehen Blush, selbst wenn leicht OT )
:19:
Abseits des Joints:

Moin!
Warum nicht Columns("D").Replace "Wert 35", "NeuerWert88", xlPart

Gruß Ralf

(mit der Befürchtung, dass die Realität gaaaanz anders ist und obiges nur ein Beispiel, um uns nicht zu überfordern)
Dodgy
Hallo,

ein Lösungsweg mit Split und Join:


Code:
 Dim varQ As Variant
 Dim varT As Variant

 varQ = Range("D1:D6")
 varT = Split(varQ(5, 1), "#")
 varT(3) = "Wert 88"
 varQ(5, 1) = Join(varT, "#")
 Range("D1:D6") = varQ
(22.12.2015, 18:51)atilla schrieb: [ -> ]Hallo,

ein Lösungsweg mit Split und Join:


Code:
 Dim varQ As Variant
 Dim varT As Variant

 varQ = Range("D1:D6")
 varT = Split(varQ(5, 1), "#")
 varT(3) = "Wert 88"
 varQ(5, 1) = Join(varT, "#")
 Range("D1:D6") = varQ

Danke!
oder:

Code:
Sub M_snb()
   [D5] = Replace([D5], Split([D5], "#")(3), "Wert 88")
End Sub