Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Tabelle per Makro sortieren
#1
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.


Angehängte Dateien
.xlsx   Tabelle.xlsx (Größe: 9,6 KB / Downloads: 1)
Antworten Top
#2
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.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#3
Er übernimmt die Werte aus einer anderen Tabelle.

Daher sind die Zeilen auch nicht leer
Antworten Top
#4
Dann musst du entweder die Übernahme ändern oder die Zellen innerhalb deines Makros leeren.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#5
Übernahme ändern habe ich schon alles versucht.

Was meinst du mit innerhalb vom Marko leeren ?

Lg
Antworten Top
#6
Dann zeig doch mal, wie du die Daten übernimmst. Es ist nämlich besser die Ursache zu beseitigen als die Wunden zu heilen.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#7
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


Angehängte Dateien
.xlsx   Werte.xlsx (Größe: 10,19 KB / Downloads: 1)
Antworten Top
#8
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...
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top
#9
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
Antworten Top
#10
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.
Gruß,
Helmut

Win10 - Office365 / MacOS - Office365
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste