Inhalte aus 2 Spalten in einer dritten sortieren
Hallo zusammen,
ich habe ein Problem beim sortieren mit Excel.
In Spalte A stehen etliche tausend Zahlenwerte, in Spalte B ebenfalls.
Nun sollen dieses beiden Spalten in die Spalte C kopiert und dort sortiert werden.
Gibt es da eine "einfache" Lösung, außer beide Spalten kopieren, in C einfügen und dann sortieren?
Vielen Dank vorab an alle die sich den Kopf zerbrechen!
Antwort schreiben
Antwort 1 von schnallgonz vom 02.04.2019, 19:51 Options
N'abend,
Zitat:
Nun sollen dieses beiden Spalten in die Spalte C kopiert und dort sortiert werden.
Gibt es da eine "einfache" Lösung, außer beide Spalten kopieren, in C einfügen und dann sortieren?
Wasch mich, aber mach mich nicht nass oder wie?
Wenn in A2 z.B. 123 steht und in B2 456, soll in C2 123456? Und dann soll alles in Spalte C aufsteigend sortiert werden?
Das geht mit folgendem Code:
Option Explicit
Sub CopySort()
Dim letzteZeile As Long, i As Long
letzteZeile = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To letzteZeile
Cells(i, 3) = Cells(i, 1) & Cells(i, 2)
Next i
Range("A2").Select
ActiveCell.CurrentRegion.Select
Selection.Sort Key1:=Range("C2"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub
Ansonsten die Problemstellung bitte etwas genauer.
gruß
schnallgonz
Antwort 2 von der_max vom 03.04.2019, 09:49 Options
Erst mal danke für die schnelle Hilfe!
Sorry wenn ich mich etwas undeutlich ausgedrückt habe, aber so soll es sein:
A B C
1 2 1
5 11 2
3 7 3
9 4 4
5
7
9
11
Bloß das das wie gesagt nicht nur ne handvoll Daten sind, sondern etliche tausend.
Danke schon mal!
Antwort 3 von der_max vom 03.04.2019, 09:53 Options
das sieht natürlichsehr deutlich aus, zum glück kann ich das nicht editieren...
auf jeden fall sollen die werte aus A und aus B aufsteigend in C sortiert werden, ohne das man die beiden Zellinhalte verkettet
Antwort 4 von netsupport vom 03.04.2019, 11:02 Options
Hallo
Versuch's damit:
Option Explicit
Sub copysort()
Dim letzte As Long
letzte = Range("A65535").End(xlUp).Row
Range("A1:A" & CStr(letzte)).Select
Selection.copy Destination:=Range("C1")
Range("B1:B" + CStr(Range("B65535").End(xlUp).Row)).copy _
Destination:=Range("C" & CStr(letzte + 1))
Range("C1:C" + CStr(Range("C65535").End(xlUp).Row)).Select
Selection.Sort Key1:=Range("C1"), Order1:=xlAscending, Header:=xlGuess, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End Sub
viel Erfolg
Antwort 5 von der_max vom 03.04.2019, 11:33 Options
Vielen Dank, das funktioniert einwandfrei!
Gruß
Max