Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1044to1048
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

Zellen verschieben - lange Liste

Zellen verschieben - lange Liste
28.01.2009 21:03:00
StefanK
Hallo Herber-Excel-Freunde,
ich möchte gern per Makro folgende Aufgabe lösen
Verschiebe im markierten Bereich die Zellen in der Spalte A nach folgendem Muster
Zellinhalt xx in zelle yy
a1 = a1
a2 = b1
a3 = c1
a4 = d1
a5 = a5
a6 = b5
a7 = c5
a8 = d5
usw
Logik: Transportieren (Excel-Nomenclatur) jeder 4 Zellen in Spalten jeweils für den markierten Bereich
z.b. a1:a399
Die Liste ist seeehr lang, deshalb wäre das manuelle Verschieben sehr aufwändig
Freu mich auf einen Tip
Besten Gruss
Stefank
Es soll

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zellen verschieben - lange Liste
28.01.2009 21:40:42
Tino
Hallo,
teste mal diesen Code.
Sub Test()
Dim Bereich As Range
Dim tempAr, meAr()
Dim A As Long, lCount As Long

With Sheets("Tabelle1")
    Set Bereich = .Range("A1", .Cells(.Rows.Count, 1).End(xlUp))
    tempAr = Bereich
    
    On Error Resume Next
    Redim meAr(Ubound(tempAr), 3)
        For A = 1 To Ubound(tempAr) + 1 Step 4
         meAr(lCount, 0) = tempAr(A, 1)
         meAr(lCount, 1) = tempAr(A + 1, 1)
         meAr(lCount, 2) = tempAr(A + 2, 1)
         meAr(lCount, 3) = tempAr(A + 3, 1)
         lCount = lCount + 4
        Next A
    .Range("A1").Resize(Ubound(meAr, 1), Ubound(meAr, 2) + 1) = meAr
End With
End Sub


Gruß Tino

Anzeige
AW: Zellen verschieben - lange Liste
28.01.2009 21:48:21
StefanK
Hey Tino
perfekt :)))) für die komplette Tabelle !!
Damit kann ich arbeiten - hilft mir sehr weiter
Klasse * * * * *
die "Krönung" wäre es, wenn das Makro nur für einen markierten Bereich funktionieren würde ;)
Vielleicht hast Du dafür noch einen Tip :)
Dank Dir sehr
Gruss StefanK
AW: Zellen verschieben - lange Liste
28.01.2009 21:54:00
Tino
Hallo,
versuche es mal hiermit, es darf in der Selektion aber nur eine Spalte sein!
Sub Test()
Dim Bereich As Range
Dim tempAr, meAr()
Dim A As Long, lCount As Long

    Set Bereich = Selection
    tempAr = Bereich
    
    On Error Resume Next
    Redim meAr(Ubound(tempAr), 3)
        For A = 1 To Ubound(tempAr) + 1 Step 4
         meAr(lCount, 0) = tempAr(A, 1)
         meAr(lCount, 1) = tempAr(A + 1, 1)
         meAr(lCount, 2) = tempAr(A + 2, 1)
         meAr(lCount, 3) = tempAr(A + 3, 1)
         lCount = lCount + 4
        Next A
Selection(1).Resize(Ubound(meAr, 1), Ubound(meAr, 2) + 1) = meAr

End Sub


Gruß Tino

Anzeige
PERFEKT !!!
28.01.2009 21:58:00
StefanK
Hallo Tino
Dank Dir sehr für die schnelle und professionelle Hilfe !
Genau DIE Lösung, die ich brauche !
Danke Dir sehr
dafür gibts von mir * * * * *
Besten Gruß
StefanK
noch nicht...
29.01.2009 06:50:38
Tino
Hallo,
...ganz Perfekt.
Mach bei der Zeile
For A = 1 To Ubound(tempAr) + 1 Step 4
dass +1 raus, ist ein Schleifendurchlauf zu viel.
Also nur
For A = 1 To Ubound(tempAr) Step 4
Gruß Tino

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige