Clever-Excel-Forum

Normale Version: Spalte kopieren, von unten nach oben
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen
Ich habe ein kleines (für mich ein grosses) Problem

Ich kopiere von Tabellenblatt "Spieler" über einen Button Spalte A und Spalte B (Wenn die Bedingung in C passt, z.B.: 401) nach Tabellenblatt1. Das klappt ja wunderbar

Ich will es aber Irgendwie schaffen, dass das von unten nach Oben kopiert bzw von unten nach oben eingetragen wird. Die Bereiche, wo das hinkopiert wird, ist immer der gleiche Bereich.
Vielleicht hat wer eine Idee.  Zur Info. Ich habe das mal auf Fussballspieler umgemünzt, da das wirkliche Problem zu kompliziert wäre (zumindest für betriebsfremde)

Danke an alle
LG
Michael
Hey,

mach aus i = i + 1  ->  i = i - 1 und fang am Ende an.

Gruß Elex
Danke

Es klappt. In meiner geistigen Umnachtung habe ich zuerst übersehen, dass ich die Zeilennummer natürlich auch ändern muss.
i = 3 ' Zeilennummer   Ab 4 Fundstellen kommt natürlich der Fehler

Ich habs dann auf
i = 15 geändert und schon gings

Ich sage Besten Dank
Mein Tag ist gerettet

LG
Michael
Hallo

ich habe mich NIE für Fussball interessiert, aber die ungewöhnliche Aufgabe Rückwärts zu kopieren hat mich gereizt eine lösung zu finden!
Dafür benötigt ein erfahrener Programmierer keine zwei getrennte Makros, das kann man für Bayern und Schalke in einem Rutsch machen! 
Und ich bevorzuge den normalen CommandButton, keine AktiveXSteuerelemente.  Dem kann man das Makro im Modul1 direkt zuweisen.

mfg Gast 123

Soory, zu schnell gesendet.   Hier die beabeitete Datei.
Hi,

ginge auch in einem Makro:

Code:
Private Sub Rueckwaerts()
Dim lastRow As Long
Dim rngBer As Range
Dim lCount As Long
Dim lBayern As Long
Dim lSchalke As Long
lBayern = 2
lSchalke = 16
lastRow = Cells(Rows.Count, 1).End(xlUp).Row

With Sheets("Tabelle1")
    Set rngBer = .Range("b2:C26")
    rngBer.ClearContents
   
    For lCount = lastRow To 1 Step -1
        If Cells(lCount, 3) = 401 Then
            .Cells(lBayern, 2) = Cells(lCount, 2)
            .Cells(lBayern, 3) = Cells(lCount, 1)
            lBayern = lBayern + 1
        ElseIf Cells(lCount, 3) = 402 Then
            .Cells(lSchalke, 2) = Cells(lCount, 2)
            .Cells(lSchalke, 3) = Cells(lCount, 1)
            lSchalke = lSchalke + 1
        End If
    Next
   
End With

End Sub


Gerade die Version von Elex gesehen, ist nicht so toll, wenn die Einträge in Tabelle1 unten beginnen!
Moin!
Mein übliches "außer Konkurrenz".
In einem aktuellen Excel reicht eine einzige Formel.
(ohne VBA, ohne "ziehen")
ABC
1Liste1Liste2
2PJ
3BD
4UH
5EC
6XI
7SN
8LV
9VL
10NS
11IX
12CE
13HU
14DB
15JP

ZelleFormel
C2=LET(b;A2:A15;z;ZEILEN(b);INDEX(b;SEQUENZ(z;;z;-1)))

Gruß Ralf

Edit:
Geht sogar noch einfacher:
AD
1Liste1Liste2
2PH
3BC
4UI
5EN
6XV
7SL
8LS
9VX
10NE
11IU
12CB
13HP

ZelleFormel
D2=SORTIERENNACH(A2:A13;SEQUENZ(12;;12;-1))