Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zellinhalt per VBA in Zellen aufteilen

Zellinhalt per VBA in Zellen aufteilen
17.03.2021 17:26:52
Michael
Hallo Excel-Freunde,
ich kämpfe gerade an folgendem Problem.
Ich habe eine CSV-Datei in mein Excelblatt "Maske" importiert.
Der Inhalt ist in Spalte 5 ab Zelle 3 eingefügt. Das passt und funktioniert auch.
Der Inhalt einer Zelle in Spalte 5 sieht zum Beispiel so aus: ES02LEG1200181212302
Die Anzahl der Zeichen ist immer gleich 21 Zeichen.
Nun will ich den Inhalt jeder befüllten Zelle in Spalte 5 wie folgt auflösen:
Die Zeichen 1-4 in Spalte 1
Die Zeichen 5-15 in Spalte 2
Die Zeichen 16-18 in Spalte 3
Die Zeichen 19-21 in Spalte 4
In Spalte 6 soll dann noch folgende Formel eingefügt werden:
=(Spalte 3 + Spalte 4)
Meine Hauptprobleme ist alle Zeilen anzusprechen, da die importierte Datei unterschiedlich lang ist.
Das aufteilen dachte ich mit zum Beispiel einer solchen Variante =TEIL($E$2;5;11)
allerdings soll nicht die Formel sondern nur der Wert in der Zelle stehen.
Das ganze soll über ein CommandButton ausgelöst werden.
So soll das
https://www.herber.de/bbs/user/144906.xlsx
Könntet Ihr mir behilflich sein, das übersteigt meine Kompetenz,
Vielen Dank
Gruß Michael

Anzeige

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellinhalt per VBA in Zellen aufteilen
17.03.2021 17:37:41
Hajo_Zi
Hallo Michael,
=Teil(E1;1;4)
=Teil(E1;5;10)


Anzeige
AW: Zellinhalt per VBA in Zellen aufteilen
17.03.2021 17:50:32
Michael
Besten Dank,
das mit dem Aufteilen funktioniert.
Jetzt fehlt mir nur noch das dies für alle Zeilen gemacht wird, die
in Spalte 5 Stehen. Das können mal 3 sein mal 20 oder 30.
Dort fehlt mir absolut der Plan.
Freue mich über jede Anregung und Hilfe!
Gruß Michael

AW: Zellinhalt per VBA in Zellen aufteilen
17.03.2021 17:54:35
Hajo_Zi
Hallo Michael,
markiere die 4 Zellen untere rechte Ecke Doppelklick.
Gruß Hajo

Anzeige
AW: Zellinhalt per VBA in Zellen aufteilen
17.03.2021 18:05:38
Michael
Halo Hajo,
das funktioniert nicht da ja Werte ausgelesen werdenund bis auf in Spalte 6
keine Formel enthalten sind. Wenn das nicht geht müsste ich überall mit Formeln arbeiten. Gibt es ein Befehl der Deinen Vorschlag für VBA?
Danke

AW: Zellinhalt per VBA in Zellen aufteilen
17.03.2021 18:13:55
Rolf
Hallo Michael,
teste mal dies:
Zuerst einen CommandButton erstellen und dem dann diesen Code zuweisen:
Private Sub CommandButton1_Click()
Dim rng As Range
Application.ScreenUpdating = False
For Each rng In Range("E2:E" & Cells(Rows.Count, 5).End(xlUp).Row)
rng.Offset(0, -4) = Left(rng, 4)
rng.Offset(0, -3) = Mid(rng, 5, 10)
rng.Offset(0, -2) = Mid(rng, 15, 3)
rng.Offset(0, -1) = Right(rng, 3)
rng.Offset(0, 1) = CLng(rng.Offset(0, -2)) + CLng(rng.Offset(0, -1))
Next
End Sub
Gruß Rolf

Anzeige
AW: Zellinhalt per VBA in Zellen aufteilen
17.03.2021 18:24:10
Michael
Absolute Spitze!
Kann in Spalte 6 auch nur die Formel einetragen werden?
Besten Dank!
Michael

AW: Zellinhalt per VBA in Zellen aufteilen
17.03.2021 18:49:11
Rolf
Hallo Michael,
klar, letztes rng.Offset ersetzen durch
rng.Offset(0, 1).FormulaLocal = "=C" & rng.Row & "+D" & rng.Row
oder Du nimmst Werners Vorschlag und ersetzt nur die Spalten A-D durch Werte.
Gruß Rolf

Anzeige
AW: Zellinhalt per VBA in Zellen aufteilen
17.03.2021 18:24:00
Werner
Hallo,
oder du schreibst dir die Formeln per VBA in die Zellbereiche und ersetzt anschließend die Formeln durch die jeweiligen Werte.
Public Sub Test()
Dim loLetzte As Long
Application.ScreenUpdating = False
With Worksheets("Tabelle1")
loLetzte = .Cells(.Rows.Count, "E").End(xlUp).Row
.Range("A2:A" & loLetzte).FormulaLocal = "=LINKS($E2;4)"
.Range("B2:B" & loLetzte).FormulaLocal = "=TEIL($E2;5;10)"
.Range("C2:C" & loLetzte).FormulaLocal = "=--TEIL($E2;15;3)"
.Range("D2:D" & loLetzte).FormulaLocal = "=--TEIL($E2;18;3)"
.Range("F2:F" & loLetzte).FormulaLocal = "=$C2+$D2"
.Range("A2:F" & loLetzte).Value = .Range("A2:F" & loLetzte).Value
End With
End Sub
Gruß Werner

Anzeige
AW: Zellinhalt per VBA in Zellen aufteilen
17.03.2021 18:54:23
Michael
Besten Dank,
ich verstehe nur nicht wie Spalte 6 mit einer
Formel und nicht mit einem errechneten Wert gefüllt bekomme.
.Range("F2:F" & loLetzte).FormulaLocal = "=$C2+$D2"
Wie müsste ich das "=$C2+$D2" ersetzen"
VG Michael

AW: Zellinhalt per VBA in Zellen aufteilen
17.03.2021 19:27:13
Werner
Hallo,
dann einfach in Spalte F die Formel nicht durch Werte ersetzen.
Das hier
.Range("A2:F" & loLetzte).Value = .Range("A2:F" & loLetzte).Value

so ändern
.Range("A2:D" & loLetzte).Value = .Range("A2:D" & loLetzte).Value
Gruß Werner

Anzeige
AW: Zellinhalt per VBA in Zellen aufteilen
17.03.2021 20:31:34
Michael
Genial, besten Dank so komme ich weiter!
Gruß Michael

Gerne u. Danke für die Rückmeldung. o.w.T.
17.03.2021 21:50:46
Werner
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
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