online 1
gast (50)

/ Forum / Tabellenkalkulation

TabellenkalkulationTabellenkalkulation

Fragevon a4hexcel vom 05.03.2019, 13:04 Options

Bereiche Verketten

Hallo ich habe ein Großes Problem mit ca. 5000 Adressen
die ich in einer Spalte in folgendem Format vorliegen habe:

André Baur;
Güterstrasse 187;
4053;
Basel;
BS;
061 361 95 77;
;
Andy Pfirter;
Blumengasse 5;
4051;
Basel;
BS;
061 261 20 30;

Zwischen jedem Datensatz befindet sich eine leere Zeile mit einem ;

Ich benötige die Daten aber in Spalten oder zumindest eine Zeile pro Datensatz. z.B.
Coiffeur;André Baur;Salon messieurs;Güterstrasse 187;4053;Basel;BS;
Was ich dann mit "Text in Spalten" Trennen kann.

Zu beachten ist auch das manche Datensätze vier Zeilen haben und andere bis zu 8

Über die Funktion Verketten =VERKETTEN(A2;A3;A4;A5;A6;A7;A8;A9) kriege ich das richtige Ergebniss, allerdings muss ich das manuell für alle 5000 Adressen machen.

Für eure schnelle Hilfe danke ich euch Millionenfach.


Antwort schreiben

Antwort 1 von LittleT vom 05.03.2019, 13:54 Options

Hallo a4hexcel,

ich würde das ganze jetzt über VBA lösen.

du hast einen Startpunkt. Am beginn 0

du gehst die Spalte durch bis du nur ein ";" findest.
Merkst dir diese Zeile z.b. 5.
Dann weißt du du muss zeile 1 - 4 verketten.

Dann wird die ende zeile also 5 die erste und du gehst wieder durch bis du ein ";" findest.
Nun z.b. 10 =>Verkette zeile 6 - 9 usw.

Als VBA Code :

Private Sub CommandButton1_Click()

beginn = 0
x = 1

Do While Worksheets("Tabelle1").Cells(x, 1) <> ""
If Worksheets("Tabelle1").Cells(x, 1) = ";" Then

ende = x

For i = beginn + 1 To ende - 1
Text = Text + Worksheets("Tabelle1").Cells(i, 1).Value
Next i

Worksheets("Tabelle1").Cells(x, 2).Value = Text

Text = ""
beginn = ende
End If
x = x + 1
Loop

End Sub

Antwort 2 von Beverly vom 05.03.2019, 14:12 Options

Hi,

eine weitere Möglichkeit wäre dieser Code, da stehen die verketteten Begriffe ohne Lehrzeilen in Spalte B

Sub verketten()
    Dim loLetzte As Long, loZeile As Long, loZähler As Long
    Dim strWerte As String
    loLetzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows.Count)
    loZähler = 1
    For loZeile = 1 To loLetzte + 1
        If Cells(loZeile, 1) <> ";" And Cells(loZeile, 1) <> "" Then
            strWerte = strWerte & Cells(loZeile, 1)
        Else
            Cells(loZähler, 2) = strWerte
            loZähler = loZähler + 1
            strWerte = ""
        End If
    Next loZeile
End Sub


Bis später,
Karin

Antwort 3 von a4hexcel vom 05.03.2019, 15:46 Options

Wow!!

hier sind halt Profis am Werk,
habe beide varianten getestet, hat fehlerfrei Funktioniert.

Wie versprochen 1.000.000 DANK

Ähnliche Themen

Ungeschütze Bereiche farblich markieren
tomsan  17.01.2007 - 63 Hits - 6 Antworten

Verketten
chsab  23.04.2007 - 154 Hits - 6 Antworten

Textformat vergeben bei verketten ?
Sledge  24.07.2007 - 59 Hits - 1 Antwort

Verketten mit Umbruch
m-o-m  18.10.2007 - 97 Hits - 1 Antwort

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