PDA

Vollständige Version anzeigen : Tabelle nach Spalteneintrag sortieren


Reta
09.07.2015, 10:13
Hallo liebe VBA-Profis,

ich habe mal wieder eine Frage bzgl. VBA.

Ich habe eine Tabelle mit mehreren Einträgen, in diesem Fall zB eine Spalte in der ein Gewicht steht und eine Spalte in der eine Taktzeit steht. Nun kann ausgewählt werden, nach welchem der beiden Kriterien sortiert wird.

Ich habe folgenden Code:


For i = 1 to AnzahlKriterien

If Krit(i) = "Gewicht" Then
Worksheets(1).Range(Worksheets(1).Rows(2), Worksheets(1).Rows(AnzVarianten + 1)).Sort key1:=Worksheets(1).Cells(2, SpalteGewicht), order1:=xlAscending, Orientation:=xlTopToBottom
'...... mehr Code
End if

If Krit(i) = "Taktzeit" Then
Worksheets(1).Range(Worksheets(1).Rows(2), Worksheets(1).Rows(AnzVarianten + 1)).Sort key1:=Worksheets(1).Cells(2, SpalteTaktzeit), order1:=xlAscending, Orientation:=xlTopToBottom
'...... mehr Code
End if

Next



Es soll also je nachdem welches der beiden Kriterien ausgewählt wird, eine Sortierung vorgenommen werden.

Nun habe ich folgendes Problem:

Wähle ich nur eines der beiden aus, klappt die Sortierung ohne Probleme. Wähle ich aber beide aus, erfolgt erst die Sortierung nach der Spalte mit dem Gewicht und dann sollte eigentlich neu sortiert werden.
Genau das funktioniert aber nicht....
Wieso???

Kann mir jemand helfen??

Danke und einen schönen Mittag
Reta

jack_D
09.07.2015, 10:53
Moin Reta,

Ich denke eine Mustermappe und der ganze Code wären ganz gut um das Problem zu suchen.

Grüße

Reta
09.07.2015, 11:12
Den ganzen Code darf ich leider nicht posten.... Um ein Minimalbeispiel zu erstellen habe ich im Moment keine Zeit, das kann ich wenn dann erst nächste Woche machen..

Hatte gehofft, dass jemandem vll so eine Lösung einfällt?!

Kann man Sortierungen rückgängig machen?? Das ich zB die Sortierung nach Gewicht vornehme, diese dann zurücksetze und dann neu nach Taktzeit sortiere?

Ich habe schon probiert, was passiert, wenn ich erst zb nach Taktzeit und direkt im Anschluss nach Gewicht innerhalb der gleichen If-Schleife sortiere. Das funktioniert. Nur wenn das in einer anderen If-Schleife steht eben nicht..

Grüße

jack_D
09.07.2015, 11:22
Moin
Den ganzen Code darf ich leider nicht posten.
Bitte Reparieren sie mein Auto, aber ich kann ihnen leider nur die Reifen da lassen.

... Um ein Minimalbeispiel zu erstellen habe ich im Moment keine Zeit, das kann ich wenn dann erst nächste Woche machen..
Ich hab leider auch keine Zeit mir was auszudenken, was dann in Realitas sowieso anders aussieht



Kann man Sortierungen rückgängig machen?? Das ich zB die Sortierung nach Gewicht vornehme, diese dann zurücksetze und dann neu nach Taktzeit sortiere?
http://lmgtfy.com/?q=Excel+VBA+sortieren+r%C3%BCckg%C3%A4ngig

Grüße

Reta
09.07.2015, 11:29
Man muss deshalb nicht gleich unfreundlich werden!

Ich kenne mich nun mal nicht so gut aus mit VBA und dachte, vll kann mir jemand so helfen!

Dass ich nicht alles posten kann ist nicht meine Entscheidung!
Und dass ich gerade heute keine Zeit für ein Minimalbeispiel habe, liegt auch nicht an mir!

Wenn du mir nicht helfen willst, dann lass es einfach!

Grüße

jack_D
09.07.2015, 11:38
Moin Moin

Man muss deshalb nicht gleich unfreundlich werden!

Ich kenne mich nun mal nicht so gut aus mit VBA und dachte, vll kann mir jemand so helfen!
Daher die Metapher zur Reperatur des Autos.
Manchmal braucht man eben das Auto zum reparieren des selbigen. Wenn der Defekt auf einen Reifen zurückzuführen ist, reichen unter Umständen dieselbigen.

Dass ich nicht alles posten kann ist nicht meine Entscheidung!
Aber dein Problem

Und dass ich gerade heute keine Zeit für ein Minimalbeispiel habe, liegt auch nicht an mir!
Ohne Code sowieso relativ sinnfrei

Wenn du mir nicht helfen willst, dann lass es einfach!
Think before you write.
Wenn ich dir nicht helfen wöllte hätte ich auch gar nichts erst schreiben müssen. Hab ich aber. Aber stimmt, dass hat mit helfen wollen nichts zu tun.

Egal jetzt bin ich tatsächlich raus.

Viel Spaß dir noch.

Reta
09.07.2015, 11:48
Tut mir Leid wegen des letzten Satzes.

Aber man kann meiner Meinung nach auch einfach auf eine freundlichere Art und Weise antworten und nicht jedem, der nicht sofort alles richtig macht, das Gefühl geben, man macht alles falsch! Manche Menschen kennen sich eben noch nicht so gut aus. Deshalb gibt es dieses Forum ja.

Ich weiß, dass es mein Problem ist, dass ich nicht alles posten darf. Trotzdem ist es nicht meine Entscheidung.
Und da ich heute keine Zeit für ein Minimalbeispiel habe, würde ich das auch nächste Woche machen, da ich, wie oben geschrieben, nur gerade genau heute keine Zeit dafür hab.

Ich kann also gerne nächste Woche ein kleines Beispiel posten, wenn mir bis dahin keiner so helfen kann.

Danke!