Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

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.
Antworten 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!
Antworten 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)
Antworten 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
Antworten Top
#5
(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!
Antworten Top
#6
oder:

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


Gehe zu:


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