Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1716to1720
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

fehlerhafte Sortierung beim Ausdruck

fehlerhafte Sortierung beim Ausdruck
22.10.2019 23:57:22
Andre
Hallo zusammen,
ich habe eine kleine Lagerverwaltung erstellt und komme nun nicht weiter:
In der Userform suche ich nach Palettennummern und wähle in der Listbox1 die aus, die ich brauche. Diese verschiebe ich in Listbox2 und kann mir dann einen Beleg drucken.
Beim Ausdrucken des Beleges (Pickliste) sollte Excel vorher nach der Spalte "Block" sortieren.
Wenn allerdings die Felder Block, Gang und Platz im Bestand nicht gefüllt sind, bringt er die Sortierung durcheinander, so dass Lagerplätze in falschen Zeilen stehen.
Darauf hin habe ich die Zeilen zum Sortieren im Code gelöscht aber jetzt wird immer noch (falsch) sortiert.
Kann mir einer von Euch sagen, wo der Fehler liegt? Am besten noch den Code erweitern, dass richtig sortiert wird und leere Felder keine Auswirkung auf die Sortierreihenfolge haben.
Ich bin nicht sehr in VBA bewandert und habe das meiste des Codes durchs Forum erstellt. Daher bin ich für Eure Hilfe sehr dankbar.
Die Datei habe ich mal hochgeladen: https://www.herber.de/bbs/user/132672.xlsm
(Der Beleg ist vermutlich ausgeblendet)
Vielen Dank
Andre

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: fehlerhafte Sortierung beim Ausdruck
23.10.2019 06:46:36
Klaus
Hi Andre,
das sortieren kann man einmal mit dem Makrorekorder aufzeichnen. Eigentlich sollten leere Zellen das sortieren nicht beeinflussen (sie gehen dann halt nach unten). Bei mir funktioniert folgender Code, ohne die Lagerplätze zu zerschießen:
Am Ende von Private Sub CommandButton_Druck_Click() im Bereich wo gedruckt wird das sortieren einfügen (Makrorekordercode, leicht bereinigt):
Application.ScreenUpdating = False
Dim lRow As Long
With Sheets("Pickliste")
.Visible = True
lRow = .Cells(.Rows.Count, 2).End(xlUp).Row
.Sort.SortFields.Clear
.Sort.SortFields.Add Key:=Range("G5:G" & lRow), SortOn:=xlSortOnValues, Order:=xlAscending,  _
DataOption:=xlSortNormal
.Sort.SetRange .Range("B4:I" & lRow)
.Sort.Header = xlYes
.Sort.MatchCase = False
.Sort.Orientation = xlTopToBottom
.Sort.SortMethod = xlPinYin
.Sort.Apply
.Range("A1:I45").PrintOut
.Visible = False
End With
Application.ScreenUpdating = True
Und, klappts auch bei dir?
mfg,
Klaus M.
Anzeige
Punkt vergessen!!!
23.10.2019 06:48:02
Klaus
Andre,
diese Zeile bitte noch korrigieren. Statt
.Sort.SortFields.Add Key:=Range("G5:G" & lRow), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
mit einem Punkt vor Range
.Sort.SortFields.Add Key:=.Range("G5:G" & lRow), SortOn:=xlSortOnValues, Order:=xlAscending, _
DataOption:=xlSortNormal
sonst funktioniert es nur wenn das Blatt aktiv ist.
mfg,
Klaus M.
AW: Punkt vergessen!!!
23.10.2019 19:40:19
Andre
Hallo Klaus,
zunächst einmal vielen Dank, dass Du Dich meinem Problem angenommen hast.
Seinerzeit hatte ich den Makrorekorder genutzt und es funktioniert aus solange, wie die Spalten Block, Gang und Platz gefüllt sind. Sind sie allerdings leer, geht's nicht mehr.
In beigefügten Bild habe ich rechts die original Listbox und links den Ausdruck abgebildet.
Die Zeilen werden "durcheinander gebracht".
Userbild
Kann es ggf. an dem Tabellenblatt selbst liegen (eine Formatierung)?
Gruß
Andre
Anzeige
AW: Punkt vergessen!!!
24.10.2019 06:33:43
Klaus
Hallo Andre,
ich kann nur sagen, bei mir funktioniert das sortieren.
Workaround: fülle die leeren Zellen doch mit "0" und entferne diese nach dem sortieren wider.
LG,
Klaus M.

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige