Feldmanipulation mit Split und Joint
#1
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.
Top
#2
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 )
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!
Top
#3
: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
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)
Top
#4
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:
  • Büroklammer
Top
#5
(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!
Top
#6
oder:

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


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste