Registriert seit: 25.09.2014
Version(en): 2013
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.
Registriert seit: 28.05.2014
Version(en): 2013 / 2016
22.12.2015, 19:21
(Dieser Beitrag wurde zuletzt bearbeitet: 22.12.2015, 19:21 von GMG-CC.)
Zitat: Feldmanipulation mit Split und Joint
Hast du vielleicht gerade einen Join
t geraucht? Das würde ja erklären, dass du nicht Join anwendest, ein Range als Variant deklarierst (oder soll das ein Array werden?), …
(Sorry, ich konnte nicht widerstehen
, selbst wenn leicht OT )
Beste Grüße
Günther
Excel-ist-sexy.de …schau doch mal rein!
Der Sicherheit meiner Daten wegen lade ich keine *.xlsm bzw. *.xlsb- Files mehr herunter! -> So geht's ohne!
Registriert seit: 12.10.2014
Version(en): 365 Insider (64 Bit)
22.12.2015, 19:45
(Dieser Beitrag wurde zuletzt bearbeitet: 22.12.2015, 19:45 von RPP63.)
: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)
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag.
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Registriert seit: 14.04.2014
Version(en): 2003, 2007
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
Gruß Atilla
Folgende(r) 1 Nutzer sagt Danke an atilla für diesen Beitrag:1 Nutzer sagt Danke an atilla für diesen Beitrag 28
• Büroklammer
Registriert seit: 25.09.2014
Version(en): 2013
(22.12.2015, 19: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!
Registriert seit: 29.09.2015
Version(en): 2030,5
oder:
Code:
Sub M_snb()
[D5] = Replace([D5], Split([D5], "#")(3), "Wert 88")
End Sub