Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1276to1280
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
Inhaltsverzeichnis

VBA Daten aus mehreren Spalten in eine Spalte

VBA Daten aus mehreren Spalten in eine Spalte
Valerie
Hallo,
ich habe folgendes Problem:
Ich habe im Worksheet "Aufgelöste Maßnahmen" Maßnahmen im Textformat gruppiert in verschiedenen Spalten stehen:
Gruppe 1 ------- Gruppe 2
Maßnahme x -- Maßnahme a
Maßnahme y -- Maßnahme b
Maßnahme z

nun möchte ich diese Maßnahmen aus den Spalten in das Worksheet "Kriterien" in eine Spalte überführt haben:
Maßnahmen
Maßnahme x
Maßnahme y
Maßnahme z
Maßnahme a
Maßnahme b

Dabei soll der Code prüfen ob er in dem Worksheet "Aufgelöste Maßnahmen" eine leere Zeile erreicht und wenn ja, die nächste Spalte eintragen. Denn in das Worksheet "Aufgelöste Maßnahmen" können die Maßnahmen noch ergänzt oder gelöscht werden usw.
Die Worksheets befinden sich in der gleichen Datei.
Es wäre schön, wenn mir das jemand programmieren könnte. :)
Vielen Dank :)

AW: VBA Daten aus mehreren Spalten in eine Spalte
09.09.2012 16:37:23
Hajo_Zi
Hallo Valerie,
vielleicht aufwendig, aber es ist das Ergebnis.
Tabelle3
 A
1Maßnahmen
2Maßnahme x
3Maßnahme y
4Maßnahme z
5Maßnahme a
6Maßnahme b
7 
8 

verwendete Formeln
Zelle Formel Bereich
A2 =WENN(ANZAHL2(Tabelle1!A:A)+ANZAHL2(Tabelle1!B:B)-1<ZEILE();"";INDIREKT(WENN(ZEILE()-1<=ANZAHL2(Tabelle1!A:A)-1;ADRESSE(ANZAHL2($A$1:A1)+1;1;;;"tabelle1");ADRESSE(ANZAHL2($A$1:A1)-ANZAHL2(Tabelle1!A:A)+2;2;;;"tabelle1")))) 
A3 =WENN(ANZAHL2(Tabelle1!A:A)+ANZAHL2(Tabelle1!B:B)-1<ZEILE();"";INDIREKT(WENN(ZEILE()-1<=ANZAHL2(Tabelle1!A:A)-1;ADRESSE(ANZAHL2($A$1:A2)+1;1;;;"tabelle1");ADRESSE(ANZAHL2($A$1:A2)-ANZAHL2(Tabelle1!A:A)+2;2;;;"tabelle1")))) 
A4 =WENN(ANZAHL2(Tabelle1!A:A)+ANZAHL2(Tabelle1!B:B)-1<ZEILE();"";INDIREKT(WENN(ZEILE()-1<=ANZAHL2(Tabelle1!A:A)-1;ADRESSE(ANZAHL2($A$1:A3)+1;1;;;"tabelle1");ADRESSE(ANZAHL2($A$1:A3)-ANZAHL2(Tabelle1!A:A)+2;2;;;"tabelle1")))) 
A5 =WENN(ANZAHL2(Tabelle1!A:A)+ANZAHL2(Tabelle1!B:B)-1<ZEILE();"";INDIREKT(WENN(ZEILE()-1<=ANZAHL2(Tabelle1!A:A)-1;ADRESSE(ANZAHL2($A$1:A4)+1;1;;;"tabelle1");ADRESSE(ANZAHL2($A$1:A4)-ANZAHL2(Tabelle1!A:A)+2;2;;;"tabelle1")))) 
A6 =WENN(ANZAHL2(Tabelle1!A:A)+ANZAHL2(Tabelle1!B:B)-1<ZEILE();"";INDIREKT(WENN(ZEILE()-1<=ANZAHL2(Tabelle1!A:A)-1;ADRESSE(ANZAHL2($A$1:A5)+1;1;;;"tabelle1");ADRESSE(ANZAHL2($A$1:A5)-ANZAHL2(Tabelle1!A:A)+2;2;;;"tabelle1")))) 
A7 =WENN(ANZAHL2(Tabelle1!A:A)+ANZAHL2(Tabelle1!B:B)-1<ZEILE();"";INDIREKT(WENN(ZEILE()-1<=ANZAHL2(Tabelle1!A:A)-1;ADRESSE(ANZAHL2($A$1:A6)+1;1;;;"tabelle1");ADRESSE(ANZAHL2($A$1:A6)-ANZAHL2(Tabelle1!A:A)+2;2;;;"tabelle1")))) 
A8 =WENN(ANZAHL2(Tabelle1!A:A)+ANZAHL2(Tabelle1!B:B)-1<ZEILE();"";INDIREKT(WENN(ZEILE()-1<=ANZAHL2(Tabelle1!A:A)-1;ADRESSE(ANZAHL2($A$1:A7)+1;1;;;"tabelle1");ADRESSE(ANZAHL2($A$1:A7)-ANZAHL2(Tabelle1!A:A)+2;2;;;"tabelle1")))) 



Tabelle1
 AB
1Gruppe 1 -'-- Gruppe 2
2Maßnahme xMaßnahme a
3Maßnahme yMaßnahme b
4Maßnahme z 
5   
6   
7   

Tabellendarstellung in Foren Version 5.49



Anzeige
AW: VBA Daten aus mehreren Spalten in eine Spalte
09.09.2012 16:52:41
Valerie
Hallo Hajo-Zi,
danke für das schnelle Ergebnis. Allerdings habe ich nicht nur 2 Gruppen sondern 67. Mit deiner Lösung müsste ich doch dann alle in einer Formel verbinden, oder?

AW: VBA Daten aus mehreren Spalten in eine Spalte
09.09.2012 16:54:31
Hajo_Zi
Hallo Valerie,
das wird zu aufwendig. Ich habe meine Lösung für das was im Beitrag Stand erstellt. Bei dem Umfang würde ich eine VBA Lösung vorziehen.
Gruß Hajo

AW: VBA Daten aus mehreren Spalten in eine Spalte
09.09.2012 16:54:48
Hajo_Zi
Hallo Valerie,
das wird zu aufwendig. Ich habe meine Lösung für das was im Beitrag Stand erstellt. Bei dem Umfang würde ich eine VBA Lösung vorziehen.
Gruß Hajo

Anzeige
AW: VBA Daten aus mehreren Spalten in eine Spalte
09.09.2012 17:07:58
Hajo_Zi
Hallo Valerie,
hier die VBA Lösung
Option Explicit
Sub Massnahmen()
' Tabellle mit den getrennten Maßnahmen ist aktiv
Dim LoletzteSpalte As Long
Dim LoLetzte As Long
Dim LoI As Long
Worksheets("Kriterien").Range("A1") = "Maßnahmen"
Worksheets("Kriterien").Range("A1").Font.Bold = True
LoletzteSpalte = IIf(IsEmpty(Cells(1, Columns.Count)), _
Cells(1, Columns.Count).End(xlToLeft).Column, Columns.Count)
With Worksheets("Kriterien")
For LoI = 1 To LoletzteSpalte
LoLetzte = IIf(IsEmpty(Cells(Rows.Count, LoI)), _
Cells(Rows.Count, LoI).End(xlUp).Row, Rows.Count)
Range(Cells(2, LoI), Cells(LoLetzte, LoI)).Copy .Cells(IIf(IsEmpty(.Cells(.Rows. _
Count, 1)), _
.Cells(.Rows.Count, 1).End(xlUp).Row, .Rows.Count) + 1, 1)
Next LoI
End With
End Sub
Gruß Hajo

Anzeige
AW: VBA Daten aus mehreren Spalten in eine Spalte
09.09.2012 17:14:35
Valerie
Hajo, das funktioniert genau wie gewünscht!!!
Vielen vielen Dank!

368 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige