online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon Leviathan1981 vom 25.09.2019, 14:10 Options

Daten aus Excel-Zellen teilen

Hi.
Ich habe folgendes Problem

24000 Datensätze mit jeweils einer Spalte, wo Werte enthalten sind, die jetzt auf einzelne Spalten aufgesplittet werden.
Trennzeichen ist ein /.

--------------------------------------
Public Sub SplittFunktion()
Dim adresse() As String, Basiszelle As String
Dim i As Byte
Dim feld1 As Variant, feld2 As Variant, feld3 As Variant, feld4 As Variant, feld5 As Variant, Feld6 As Variant
Dim nCounter As Integer


Basiszelle = Range("a1")

adresse() = Split(Basiszelle, "/")
feld1 = adresse(0)
feld2 = adresse(1)
feld3 = adresse(2)
feld4 = adresse(3)
feld5 = adresse(4)


Range("b1") = feld1
Range("c1") = feld2
Range("d1") = feld3
Range("e1") = feld4
Range("f1") = feld5
Range("g1") = Feld6

Next nCounter
End Sub

-----------------------
Das hab ich auf Basis eines Codes aus diesem Forum umgebastelt und das funktioniert auch, um A1 so aufzuspalten, wie es sein soll.
Wie schaff ich das, dass der das auch in a2, a3 a4 usw. macht?
Ich hab leider keine Ahnung von Schleifenprogrammierung ....

Wer kann mir helfen?

Besten Dank
Norman


Antwort schreiben

Antwort 1 von Leviathan1981 vom 25.09.2019, 14:14 Options

Achja, die Schleifenfragmente sind aus Versehen drin

Zitat:
Public Sub SplittFunktion()
Dim adresse() As String, Basiszelle As String
Dim i As Byte
Dim feld1 As Variant, feld2 As Variant, feld3 As Variant, feld4 As Variant, feld5 As Variant, Feld6 As Variant

Basiszelle = Range("a1")

adresse() = Split(Basiszelle, "/")
feld1 = adresse(0)
feld2 = adresse(1)
feld3 = adresse(2)
feld4 = adresse(3)
feld5 = adresse(4)

Range("b1") = feld1
Range("c1") = feld2
Range("d1") = feld3
Range("e1") = feld4
Range("f1") = feld5
Range("g1") = Feld6

End Sub

Antwort 2 von Leviathan1981 vom 25.09.2019, 14:32 Options

Zitat:
Public Sub SplittFunktion()
Dim adresse() As String, Basiszelle As String
Dim i As Byte
Dim feld1 As Variant, feld2 As Variant, feld3 As Variant, feld4 As Variant, feld5 As Variant, Feld6 As Variant

Basiszelle = Range("a1")

adresse() = Split(Basiszelle, "/")
feld1 = adresse(0)
feld2 = adresse(1)
feld3 = adresse(2)
feld4 = adresse(3)
feld5 = adresse(4)

Range("b1") = feld1
Range("c1") = feld2
Range("d1") = feld3
Range("e1") = feld4
Range("f1") = feld5
Range("g1") = Feld6

Basiszelle = Range("a2")

adresse() = Split(Basiszelle, "/")
feld1 = adresse(0)
feld2 = adresse(1)
feld3 = adresse(2)
feld4 = adresse(3)
feld5 = adresse(4)

Range("b2") = feld1
Range("c2") = feld2
Range("d2") = feld3
Range("e2") = feld4
Range("f2") = feld5
Range("g2") = Feld6

Basiszelle = Range("a3")

adresse() = Split(Basiszelle, "/")
feld1 = adresse(0)
feld2 = adresse(1)
feld3 = adresse(2)
feld4 = adresse(3)
feld5 = adresse(4)

Range("b3") = feld1
Range("c3") = feld2
Range("d3") = feld3
Range("e3") = feld4
Range("f3") = feld5
Range("g3") = Feld6
End Sub


Das muss man doch in Schleifenform bekommen. So, dass die Basiszelle immer 1 dazuaddiert und bei der Beschrieben Zelle ebenfalls um 1 erhöht wird.

Antwort 3 von rainberg vom 25.09.2019, 14:43 Options

Hallo Norman,

warum dazu ein Makro?

Das macht doch Menü > Daten > Text in Spalten viel einfacher!

Gruß
Rainer

Antwort 4 von Leviathan1981 vom 25.09.2019, 14:53 Options

Ach herje, des is ja ein Traum. Ich hab halt beim Googlen nach Daten trennen ausschließlich VAB-Hinweise gefunden. Die von Dir genannte Funktion tuts natürlich auch :) Besten Dank

Antwort 5 von Leviathan1981 vom 25.09.2019, 15:22 Options

Zitat:

1,5K zu 1,5 | K
4,7K zu 4,7 | K


Gibts denn, wenn wir grad mal so schön dabei sind, eine Funktion die Zahlen von Buchstaben trennen kann und beide Werte in verschiedene Zellen befördert?

Antwort 6 von nighty vom 25.09.2019, 16:21 Options

hi all :-)

wenn es flexibel sein sollte haett ich diese function anzubieten

gruss nighty

beispiele

tel.123
waere die erste zahl gefordert,setzt man den parameter auf 1
=Sumtext(A1;1)
waere 123

michael tel.123berlin 23456
waere die zweite zahl gefordert,setzt man den parameter auf 2
=Sumtext(A1;2)
waere 23456

usw.

einzufuegen in ein allgemeines modul

Function Sumtext(Zellen As Range, zaehler1 As Integer) As String
Dim Zelle As Range
Dim zeich1 As Integer
Dim schalter As Boolean
Dim zaehler3 As Integer
ReDim zaehler2(Len([Zellen])) As String
zaehler3 = 1
Application.Volatile
If zaehler1 > Len([Zellen]) Then zaehler1 = Len([Zellen])
For zeich1 = 1 To Len([Zellen])
If Mid([Zellen], zeich1, 1) Like "[0-9,]" = True Then
zaehler2(zaehler3) = zaehler2(zaehler3) & Mid([Zellen], zeich1, 1)
schalter = True
End If
If schalter = True And Mid([Zellen], zeich1, 1) Like "[0-9,]" = False Then
zaehler3 = zaehler3 + 1
schalter = False
End If
Next zeich1
Sumtext = zaehler2(zaehler1)
End Function

Antwort 7 von nighty vom 25.09.2019, 17:51 Options

hi all :-)

mit text ist genauso zu verfahren :-)

gruss nighty

tel.123michael456
waere das zweite wort gefordert,setzt man den parameter auf 2
=Sumtext(A1;2)
waere michael

123michael456test789karl5,8
waere das dritte wort gefordert,setzt man den parameter auf 3
=Sumtext(A1;3)
waere karl


Function Sumtext(Zellen As Range, zaehler1 As Integer) As String
Dim Zelle As Range
Dim zeich1 As Integer
Dim schalter As Boolean
Dim zaehler3 As Integer
ReDim zaehler2(Len([Zellen])) As String
zaehler3 = 1
Application.Volatile
If zaehler1 > Len([Zellen]) Then zaehler1 = Len([Zellen])
For zeich1 = 1 To Len([Zellen])
If Mid([Zellen], zeich1, 1) Like "[A-Z,.a-zäöüßAÖÜ]" = True Then
zaehler2(zaehler3) = zaehler2(zaehler3) & Mid([Zellen], zeich1, 1)
schalter = True
End If
If schalter = True And Mid([Zellen], zeich1, 1) Like "[A-Z,.a-zäöüßÄÖÜ]" = False Then
zaehler3 = zaehler3 + 1
schalter = False
End If
Next zeich1
Sumtext = zaehler2(zaehler1)
End Function

Antwort 8 von nighty vom 25.09.2019, 17:52 Options

hi all :-)

sollten beide genutzt werden waere der functionsname zu aendern :-))

gruss nighty

Ähnliche Themen

Zellen verbinden in Excel - nicht möglich
canis  06.07.2007 - 291 Hits - 2 Antworten

Excel: Zellen kopieren
madleine  27.07.2007 - 73 Hits - 2 Antworten

in excel zellen verbinden, ohne inhalte zu löschen
mafug  21.09.2007 - 273 Hits - 1 Antwort

Excel Zellen automatisch verbinden
tie750  03.10.2007 - 283 Hits - 1 Antwort

in excel leere zellen befüllen
brs  03.06.2008 - 109 Hits - 4 Antworten

Hinweis

Diese Frage ist schon etwas älter, Sie können daher nicht mehr auf sie antworten. Sollte Ihre Frage noch nicht gelöst sein, stellen Sie einfach eine neue Frage im Forum..

Neue Einträge

Version: supportware 1.9.150 / 10.06.2022, Startzeit:Thu Jan 8 21:07:44 2026