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

Forumthread: Werte aus Spalten untereinander setzen

Werte aus Spalten untereinander setzen
07.12.2006 10:11:16
Anton
Hallo Leute,
ich habe verschiedene Datensätze in mehreren Spalten stehen.
Die sollen jetzt alle untereinander in Spalte A stehen.
Mein Problem: es gibt auch leere Zellen zwischendrin.
Hier ist mein Gedankengang wie ich das gestalten würde:
-letzte Spalte suchen,
-zeile 1 bis ende markieren
-markierung ausschneiden
-letzte Zelle in Spalte A suchen
-markierung unter dieser Zelle einfügen
-vorletzte Spalte suchen
.....
bis Spalte B abgearbeitet ist .
(Ich finde das sieht nach einem schrecklich langen Code aus...)
Vielleicht geht es aber auch anders.
Wer von Euch kann mir bitte weiterhelfen?
Danke.
Servus,
Anton
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Werte aus Spalten untereinander setzen
07.12.2006 10:54:59
IngGi
Hallo Anton,
na ja, ganz so lang ist der Code nun doch nicht. Es gibt ja Gott sei Dank Schleifen ;-)
Der Code setzt aber voraus, dass die oberste Zelle der letzten Spalte nicht leer ist!

Sub test()
Dim sp As Integer
For sp = Range("IV1").End(xlToLeft).Column To 2 Step -1
   If Application.WorksheetFunction.CountA(Range(Cells(1, sp), _
      Cells(65536, sp))) > 0 Then
      Range(Cells(1, sp), Cells(Cells(65536, sp).End(xlUp).Row, sp)).Copy _
         Destination:=Range("A65536").End(xlUp).Offset(1, 0)
   End If
Next 'sp
End Sub

Gruß Ingolf
Anzeige
AW: Werte aus Spalten untereinander setzen
07.12.2006 11:33:20
Anton
Hallo Ingolf,
vielen Dank für Deine Zeilen.
Es ist aber leider wahr, dass in der ersten Zeile oft kein Eintrag in den letzten Spalten ist.
Je weiter hinten desto weniger Einträge sind da.
Kann mann vielleicht ein "LetzteSpalte = ActiveSheet.UsedRange.columns.Count"
einsetzen?
Ich benutze "ZL = ActiveSheet.UsedRange.Rows.Count" für Zeilen.
Ich freue mich auf Deine Antwort.
Servus,
Anton
Anzeige
- vielen Dank -
07.12.2006 14:10:38
Anton
Hallo Ingolf,
ich habe meine Vermutung getestet: Funzt!
Deine Vorlage war weltklasse!

Sub ZellenUntereinander()
Dim iCol1 As Integer
Dim firstCol As Byte
Dim FirstRow As Integer
Dim LastRow As Long
Dim LastCol As Long
Dim iRow As Long
'Application.ScreenUpdating = False                  'ausschalten des "Mitguckens"
firstCol = 2                                      'setzen der Startwerte
iRow = 1
LastCol = ActiveSheet.UsedRange.Columns.Count
LastRow = ActiveSheet.UsedRange.Rows.Count
For iCol1 = firstCol To LastCol
If Application.WorksheetFunction.CountA(Range(Cells(1, iCol1), _
Cells(65536, iCol1))) > 0 Then
Range(Cells(1, iCol1), Cells(Cells(65536, iCol1).End(xlUp).Row, iCol1)).Copy _
Destination:=Range("A65536").End(xlUp).Offset(1, 0)
End If
Next iCol1
'Application.ScreenUpdating = True
End Sub

Jetzt müssen nur noch die nicht benötigten Spalten weg...
Servus,
Anton
Anzeige
;

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