Anzeige
Archiv - Navigation
592to596
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
592to596
592to596
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zellen sortieren und verschmelzen

Zellen sortieren und verschmelzen
05.04.2005 20:25:28
Marlene
Liebes Forum!
Mein Excel-File hat etwa 2000 Zeilen die allesamt so oder so ähnlich aussehen:
Spalte1 ...........Spalte 2 . ..Spalte3.....Spalte4.....spalte 5 ..... spalte6
Unternehmen...Namen..... Kürzel......GesbmH......Postleitzahl...Ort
Ich hätte nun gern Spalte 1 bis 4 in einer einzige Spalte - und Spalte 5 bis 6 in einer anderen.
Erschwerend kommt hinzu, daß manchmal in Spalte 5 und 6 ebenfalls Unternehmensdaten stehen und die Postleitzahl dann in Spalte 7 vorhanden ist.
Manchmal beginnt die bereits Postleitzahl schon in Spalte 3.
Ich denken mir, man könnte sagen:
for i=1 to 100
Schreibe Spalte i in Spalte 1
i=i+1
until Spalte i ist Zahl
for j=1 to 100
if spalte j = Zahl then write in Spalte 2
j=j+1
until spalte j= leer
Ich hoffe Ihr könnt mir bei meinem Problem helfen.
lg Marlene

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen sortieren und verschmelzen
05.04.2005 21:18:13
Josef
Hallo Marlene!
Wenn ich dich richtig verstanden habe, dann z.b. so!

Sub TrennenBeiPLZ()
Dim lRow As Long, lastRow As Long
Dim iCol As Integer, lastCol As Integer, n As Integer
Dim tr As String
tr = ", "   'Trennzeichen zwischenden Einträgen
lastRow = Range("A65536").End(xlUp).Row
On Error GoTo ERRORHANDLER
With Application
.ScreenUpdating = False
.EnableEvents = False
.Calculation = xlCalculationManual
End With
For lRow = 2 To lastRow
lastCol = Cells(lRow, 256).End(xlToLeft).Column
For iCol = 1 To lastCol
If IsNumeric(Cells(lRow, iCol)) Then
For n = 2 To iCol - 1
Cells(lRow, 1) = Cells(lRow, 1) & tr & Cells(lRow, n)
Next
Cells(lRow, 2) = Cells(lRow, iCol)
For n = iCol + 1 To lastCol
Cells(lRow, 2) = Cells(lRow, 2) & tr & Cells(lRow, n)
Next
Range(Cells(lRow, 3), Cells(lRow, lastCol)).ClearContents
Exit For
End If
Next
Next
ERRORHANDLER:
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End Sub

Gruß Sepp
P.S.: Rückmeldung nicht vergessen!


Anzeige
AW: Zellen sortieren und verschmelzen
06.04.2005 08:33:36
Marlene
Hallo Sepp!
Super - Vielen Dank es hat sehr gut funktioniert.
Einzig wenn nur eine Postleitzahl in der Zeile Steht so kommt diese nicht in Spalte 2.
Ich hätte eine Bitte: Könntest Du mir bitte kurz die einzelnen Zeilen im Makro erklären? Wahrscheinlich kommen noch Zellen für Straße Haus- und Telephonnummer hinzu und ich wills dann selbser schaffen.
lg Marlene
AW: Zellen sortieren und verschmelzen
06.04.2005 21:40:45
Josef
Hallo Marlene!
Hier nochmal mit Kommentar!

Sub TrennenBeiPLZ()
Dim lRow As Long, lastRow As Long
Dim iCol As Integer, lastCol As Integer, n As Integer
Dim tr As String
tr = ", "   'Trennzeichen zwischenden Einträgen
lastRow = Range("A65536").End(xlUp).Row
'letzte gefüllte Zeile in Spalte "A" ermitteln
On Error GoTo ERRORHANDLER
With Application                    'Ausschalten von ...
.ScreenUpdating = False             'Bildschirmaktualisierung
.EnableEvents = False               'Ereignisse
.Calculation = xlCalculationManual  'Berechnung
End With
For lRow = 2 To lastRow 'Zeilen von 2 bis "letzte Zeile" durchlaufen
lastCol = Cells(lRow, 256).End(xlToLeft).Column
'letzte Spalte der Zeile ermitteln
For iCol = 1 To lastCol 'Zellen von 1 bis "letzte Spalte"
If IsNumeric(Cells(lRow, iCol)) Then
'wenn der Eintrag in Zelle "IsNueric"
For n = 2 To iCol - 1
Cells(lRow, 1) = Cells(lRow, 1) & tr & Cells(lRow, n)
'Zellen bis zur Nummer in Spalte "A" zusammenfassen
Next
Cells(lRow, 2) = Cells(lRow, iCol)
For n = iCol + 1 To lastCol
Cells(lRow, 2) = Cells(lRow, 2) & tr & Cells(lRow, n)
'Zellen von der Nummer bis zur letzten Spalte in "B" zusammenfassen
Next
Range(Cells(lRow, 3), Cells(lRow, lastCol)).ClearContents
'Zellen von "C" bis "letzte Spalte" leeren
Exit For 'Schleife verlassen
End If
Next
Next
ERRORHANDLER:
With Application
.ScreenUpdating = True
.EnableEvents = True
.Calculation = xlCalculationAutomatic
End With
End Sub

Gruß Sepp
P.S.: Rückmeldung nicht vergessen!


Anzeige
AW: Zellen sortieren und verschmelzen
07.04.2005 22:48:11
Marlene
Super, vielen vielen Dank!

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige