Clever-Excel-Forum

Normale Version: Tabelle per Makro sortieren
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Seiten: 1 2 3
Hallo 

ich versuche eine Tabelle per Marko sortieren zu lassen.

Funktioniert auch eigentlich.
Nur er setzt mir alle Nullwerte nach oben.

Sub Tabelle_Jahr1()
ActiveWindow.DisplayHeadings = False
With ActiveWindow
.DisplayGridlines = True
.DisplayWorkbookTabs = False
.DisplayVerticalScrollBar = True
End With
Sheets("Jahrestabelle").Select
Range("B2:C41").Select
Selection.Sort Key1:=Range("C2"), Order1:=xlDescending, Key2:=Range("B2"), Order2:=xlDescending, Header:=xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Range("C2").Select
End Sub


Was mache ich falsch ?

Lg

passiert im übrigen nur bei Kommazahlen.
Hi,

keine Ahnung, was du gemacht hast, aber die "Leerzellen" in Spalte C sind nicht leer. Auch wenn scheinbar nichts drin steht. Das kannst du ganz leicht mit der Formel =ISTLEER(C2) überprüfen. Sobald du alle "Leerzellen" markierst und "Entf" drückst, sortiert deine Routine auch korrekt.
Er übernimmt die Werte aus einer anderen Tabelle.

Daher sind die Zeilen auch nicht leer
Dann musst du entweder die Übernahme ändern oder die Zellen innerhalb deines Makros leeren.
Übernahme ändern habe ich schon alles versucht.

Was meinst du mit innerhalb vom Marko leeren ?

Lg
Dann zeig doch mal, wie du die Daten übernimmst. Es ist nämlich besser die Ursache zu beseitigen als die Wunden zu heilen.
Wenn ich glatte Zahlen übernehme macht er auch alles richtig.
Das ist nur bei Kommazahlen

Das sind die Werte die ich in die Tabelle übernehme.

B und F
Und wo kommen diese Werte her?
#WERT! deutet daraf hin, dass hier ursprünglich Formeln stehen...

Du hast immer noch nicht gesagt, wie du diese übernimmst...
Ich schicke die Mal die ganze Excel.
Ist aber recht unübersichtlich.

es geht um Die Tabelle

Rechnen & um die Jahrestabelle 

Die Werte aus der Jahrestabelle werden aus dem Blatt Rechnen übernommen.

ist leider zu Groß 3.3MB

kann ich dir das auch per mail schicken ?

Lg
Bitte nicht! Mach dir die Mühe und kürze die Datei auf das nötige Maß.

Wenn du nicht an die Ursache willst, sonder das Symptom beheben:
Code:
Sub Tabelle_Jahr1()
Dim Zelle As Range
With Sheets("Jahrestabelle").Range("B2:C41")
    For Each Zelle In .Cells
        If Zelle = "" Or Zelle = 0 Then Zelle.ClearContents
    Next Zelle
    .Sort Key1:=.Range("B1"), Order1:=xlDescending, Key2:=.Range("A1"), Order2:=xlDescending, Header:=xlNo, OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
End With
End Sub
Achtung: wegen des With-Blocks muss der Sort-Key angepasst werden. xxx.Range("B2:C41").Range("A1") entspricht B2; denn A1 ist die erste Zelle der ersten Spalte von B2:C41 also B2.
Seiten: 1 2 3