Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1820to1824
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
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

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)


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

Anzeige
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

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

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

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige