Werte Verschwinden beim Sortieren

Hallo43334

Grünschnabel
Hallo,
habe mit der Aufnahme Funktion von Excel diesen Code aufgenommen. Ich möchte folgendes machen
Schritt 1 Ich kopiere von Hand eine Tabelle in Excel in den Spalten A&C
Schritt 2 Ziehe ich Spalte C in Spalte B
Schritt 3 Sortiere ich die Spalte B, dort stehen nur Zahlen, von der größten zur kleinen
Schritt 4 Doppelte Namen entfernen
Somit habe ich die höchste Zahl zu jedem Namen, in der Spalte A stehen nur Namen
Schritt 5 Spalte A die Namen nach A>Z sortieren
Mein Problem ist jetzt, es kann sein das die eingefügte Tabelle nur 100 Zeilen hat oder aber auch 10000 Zeilen. Das kommt immer drauf an. Meine Frage an euch wie kann ich das in den Code mit einbinden ? habe einfach mal probiert das B hoch zusetzten, aber jetzt verschwinden die Zahlen.

Sub Makro1()
'
' Makro1 Makro
' Versuch
'
' Tastenkombination: Strg+f
'
Columns("A:A").ColumnWidth = 18.57
Columns("C:C").Select
Selection.Cut Destination:=Columns("B:B")
Range("A2:B2000").Select
ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Add Key:=Range("B2:B21" _
), SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Tabelle1").Sort
.SetRange Range("A2:B2000")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
ActiveSheet.Range("$A$2:$B$2000").RemoveDuplicates Columns:=1, Header:=xlNo
ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Tabelle1").Sort.SortFields.Add Key:=Range("A2"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Tabelle1").Sort
.SetRange Range("A2:B2000")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
 
Hallo,

zum ersten würde ich dich bitten Code immer in entsprechende Code-Tags zu verpacken. Es macht ihn leslicher und erhöht somit die Chance, dass dir geholfen wird.

Ich schlage ganz gerne auch mal eine Alternativlösung vor. Und auch hier lese ich heraus, dass es dir in erster Linie um die höchste Zahl zu einem Namen geht. Excel besitzt ein Feature, welches sich Pivot-Tabelle nennt, du kannst es gerne versuchen.
1. Kopiere deine Tabelle wie gehabt.
2. lasse die Tabelle nun unverändert, d.h. verschiebe nicht Spalte C vor B usw. Setze einfach nur deinen Cursor innerhalb der Tabelle.
3. Klicke im Reiter "Einfügen" auf "Pivot-Tabelle" und platziere Sie an eine gewünschte Stelle. Setze als Quelle aber die gesamte Spalte und nicht nur den automatisch ausgewählten Bereich.
4. Es erscheint nun eine Feldliste. Ziehe den Namen der Spalte A (Namen) in den Bereich Spaltenbeschriftung und den Namen von Spalte C (Werte) in den Bereich Werte.
5. Ändere nun in der Pivot-Tabelle per "Wertfeldeinstellungen..." die Funktion von Summe nach Maximum.

Diese Vorgehensweise hat speziell einen Vorteil, du lässt die Originaldaten unverändert. Dies lässt zu, dass sich Originaldaten verändern können. So hast du z.B. die Möglichkeit externe Quellen zu verwenden oder nur die Spalten A-C neu in die Tabelle zu kopieren. Du musst lediglich ggf. die Pivot-Tabelle aktualisieren und diese nicht jedes mal neu erstellen.

Ganz nebenbei, ist die Tastenkombination Strg+F nicht ein wenig "gewagt"? Immerhin wird damit in Excel die Suchmaske geöffnet.
 
Zuletzt bearbeitet:
Ja Danke für die Antwort. Ich komme mit dieser neuen Tabelle noch nicht ganz so klar, aber habe mir paar Sachen schonmal angeschaut. Ich wollte eine Datenbank für ein Online spielen machen und da habe ich schon, ein paar sehr intressante Funktion gesehn die das sehr vereinfachen. Kann man eigentlich von Excel aus auch Daten wieder in ein Textfeld einfügen ?
 
Die letzte Frage verstehe ich nicht wirklich, was für ein Textfeld meinst du?

Pivot-Tabellen können erst sehr verwirrend sein, das stimmt, wenn man aber erstmal durchgestiegen ist können Sie einem das Leben extrem erleichtern.
 
Also habe so ein Formula im Internet ( Das eine Fremde Seite wo ich kein Zugriff drauf habe), das ich ebend mit den Werten aus meiner Excel Datei füttere. Das mache ich ich zur Zeit mit der Hand gibt es da eine möglichkeit die Automatisch in diese "Textfelder" einzutragen?
 
Zurück