1.7k Aufrufe
Gefragt in Tabellenkalkulation von
Hallo,
habe ein Problem bei der Sortierung zweier Spalten, die nach Möglichkeit über einen Button sortiert werden sollen. Habe noch nicht so viel Erfahrung mit Makros und bekomme das einfach nciht hin. Hier ein Beispiel meines Problems.

Spalte 1

4
5
6
7
8
9


Spalte 2

2
3
4
5
6
7
8
9
10

In Spalte 2 soll nun nach einem Wert gesucht werden, der gleich dem Wert der ersten Zeile aus Spalte 1 ist und danch sortiert werden. Das Ganze sollte dann so aussehen und über einen Button sortiert werden.
Spalte 1

4
5
6
7
8
9

Spalte 2
4
5
6
7
8
9

Ich bin für jeden Hilfe dankbar.
Gruß M.H

5 Antworten

0 Punkte
Beantwortet von m-o Profi (22.9k Punkte)
Hallo,

was du vorhast geht nicht über sortieren. Denn bei der Sortierung einer Spalte werden grds. alle Werte einer Spalte sortiert.

Was passiert denn mit den Werten aus Spalte 2, die nicht in Spalte 1 vorkommen, bei deinem Beispiel also die Zahlen 2, 3 und 10?

Was passiert, wenn ein Wert, der in Spalte 1 vorkommt nicht in Spalte 2 vorkommt? Soll dieser dann leer bleiben oder der nächst größere Wert genommen werden?

Gruß

M.O.
0 Punkte
Beantwortet von
Hallo,
erstmal vielen Dank für deine Antwort. Die Werte der Spalte 2 die nicht in Spalte 1 vorkommen sollen gelöscht werden. Im Prinzip soll die Spalte 2 mit dem Wert beginnen der gleich der ersten Zeile aus Spalte 1 ist.
Gruß M.H
0 Punkte
Beantwortet von m-o Profi (22.9k Punkte)
Hallo,

versuch es mal mit folgendem Makro:

Sub sortieren_und_loeschen()

' Sortieren der Spalte B
' ggf. anpassen

Dim zeile As Long

'Spalte B sortieren
With ActiveSheet.Sort
.SetRange Range("B1:B" & ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row)
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With

'Übereinstimmung mit A1 finden und Wert in B1 ggf.löschen
For zeile = 1 To ActiveSheet.Cells(Rows.Count, 2).End(xlUp).Row
If Range("A1").Value <> Range("B1").Value Then
Range("B1").Delete Shift:=xlUp
Else
Exit For
End If
Next zeile

End Sub


Gruß

M.O.
0 Punkte
Beantwortet von
Vielen Dank...geanu das wollte ich...
0 Punkte
Beantwortet von nighty Experte (6.6k Punkte)
hi :-) Mo und all ^^

wenn es mal zu laufzeitproblemen beim zeilen löschen gibt,
kannst du in einer hilfsspalte false schalten und nun ueber spezialcells nach false filtern und in einem rutsch löschen ^^

gruss nighty
...