Zellen umlagern

Bild

Betrifft: Zellen umlagern
von: Thomas
Geschrieben am: 10.11.2003 15:33:41

Hallo,
ich hab aus einer Textdatei eine Tabelle erstellt, die
Daten sind nun von links nach rechts in den Zellen.
Wichtig sind die Spalten A bis F.
Diese Daten sollen nun in ein neues Tabellenblatt
untereinander Kopiert werden, das sieht dann etwa so aus:
alte Tabelle - neue Tabelle
A1 -> A1
B1 -> A2
...F1 ->A6
danach soll bei A2 in der alten Tabelle angefangen werden,
die Daten sollen dann wieder nach B1 bis B6 in die neue
Tabelle kopiert werden.
(ist ein wenig umständlich zu beschreiben)
Das ganze soll 7 mal, also der letzte zu kopierende Wert
steht bei F7 und geht nach G6. Danach soll in der neuen
Tabelle bei A7 begonnen werden. Bei dem Ganzen handelt es
sich um einen Etikettenbogen, bei dem pro Etikett 6 Zeilen
vorgesehen sind und auf dem ganzen Blatt gibt es 42 Etiketen.
(7 pro Zeile und 6 pro Spalte)
Ach ja, das ganze wollte ich in ein Makro packen, für einen
Hinweis wäre ich schon sehr dankbar, denn ich hänge grad
beim rüberkopieren und dem damit zusammenhängendes
dynamischen Zellenwechsel.

Gruß Thomas

Bild


Betrifft: AW: Zellen umlagern
von: Michael Brueggemann
Geschrieben am: 10.11.2003 15:42:34

Hallo Thomas,

kopiere den Bereich und benutze "Bearbeiten - Inhalte einfügen - Werte - Transponieren" an der Zielstelle. Das sollte Deine Aufgabe loesen.


CIAO
Michael


Bild


Betrifft: AW: Zellen umlagern
von: Thomas
Geschrieben am: 10.11.2003 16:17:15

Das ist doch aber dann per Hand und nicht durch ein Makro.
Leider ist die Liste immer ziehmlich lang, so dass bestimmt
4-5 komplette Etikettenblätter pro Tag zusammenkommen und
da hat man keine Lust auf Handarbeit ;)


Bild


Betrifft: AW: Zellen umlagern
von: Michael
Geschrieben am: 10.11.2003 16:35:07

Ich habe mir mal kurz überlegt wie sowas aussehen könnte:
Teste es doch mal ob es inetwa das ist was du suchst.

Gruß
Michael



Sub Transponiere()
Dim Spalte As Integer
Dim Zeile As Long
Dim akt_spalte As Integer
Dim akt_zeile As Long
'Tabellen Festlegen
Const tabelle1 As String = "Tabelle1" ' legt die Quelltabelle fest
Const tabelle2 As String = "Tabelle2" ' legt die Zieltabelle fest
'Definieren des Bereichs in Quelle welcher Umgesetzt werden Soll
Const lng_SpalteStart As Integer = 1 '1 entspricht Spalte A
Const lng_Spalten     As Integer = 6 ' 6 gibt an wieviel Spalten enthalten sein sollen in diesem Fall 6
Const lng_zeilestart  As Long = 1 ' 1 entspricht Zeile 1
Const lng_zeilestop   As Long = 100 'Entspricht zeile 100
'Definieren der linken Oberen Zelle für die Zieltabelle
Const lng_Spalte_Ziel As Integer = 1 '1 entspricht Spalte A
Const lng_Zeile_Ziel As Integer = 1 '1 entspricht Zeile  1
Const int_max_Spalten = 7 'Legt Fest Wieviel Spalten auf ziel
'So und nun zum eigentlichen Code
    akt_spalte = 0 'Rücksetzen der Spalten Nummer
    akt_zeile = 0 'Rücksetzen der Aktiven Zeile (besteht aus
      ' muss gemacht werden da sonst in Zeile 2 Begonnen wird
    For Lng_Zeile = lng_zeilestart To lng_zeilestop
        akt_spalte = akt_spalte + 1
        For Int_Spalte = lng_SpalteStart To lng_SpalteStart + lng_Spalten
                Worksheets(tabelle2).Cells((lng_Zeile_Ziel + Int_Spalte + akt_zeile) - 1, akt_spalte).Value = Worksheets(tabelle1).Cells(Lng_Zeile, Int_Spalte).Value
        Next Int_Spalte
        
        If akt_spalte = int_max_Spalten Then
            akt_spalte = 0 ' Wenn Maximalwert erreicht dann Spalte wieder zurück auf 0
            akt_zeile = akt_zeile + lng_Spalten ' Wenn eine Reihe Voll dann wird Wert um Anzahl Zeilen Erhöht
        End If
    Next Lng_Zeile
End Sub



Bild


Betrifft: AW: Zellen umlagern
von: Thomas
Geschrieben am: 11.11.2003 10:58:32

OK, danke, werd es mal testen und Dir dann bescheidgeben. Danke!


Bild


Betrifft: AW: Zellen umlagern
von: Thomas
Geschrieben am: 11.11.2003 11:18:51

Respekt!!! Das funzt, genau so wie es sollte!!!
Jetzt werd ich nur noch einbauen, dass die Zeilen
gezählt werden, damit alle Datensätze erfaßt werden
und dann noch ein wenig ausrichten und gut. DANKE!!!


Bild

Beiträge aus den Excel-Beispielen zum Thema " Zellen umlagern"