Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1636to1640
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

Verschiedene Sortierung auf zwei Tabellenblättern

Verschiedene Sortierung auf zwei Tabellenblättern
03.08.2018 09:57:54
Anni
Hallo Leute,
ich habe ein Problem.
Mit Hilfe von Rob und Daniel habe ich ein Makro zum Erstellen einer Bestellhistorie erstellt. Den ganzen Thread findet ihr hier.
Jetzt bleibt mir aber noch ein Problem. Nachdem die bestellten Artikel in die Historie übertragen wurden, möchte ich auf beiden Tabellenblättern Sortierungen unter verschiedenen Kriterien anwenden. Auf Tabellenblatt 2 ("Historie") klappt das perfekt, aber auf Tabellenblatt 1 ("Eingangskontrolle") nicht.
Hier mal der komplette Code:
Sub Historie2()
Dim r As Range
For Each r In Range("A2:A" & Cells(Rows.Count, 6).End(xlUp).Row)
If r = "x" Then
If r.Offset(0, 1)  "" And r.Offset(0, 3)  "" And r.Offset(0, 4)  "" Then
r.EntireRow.Copy Sheets("Historie").Range("A" & Sheets("Historie").Cells(Rows.Count, _
_
_
_
1).End(xlUp).Row + 1)
Range(Cells(r.Row, 1), Cells(r.Row, 5)).ClearContents
End If
End If
If r = "x" Then
If r.Offset(0, 1) = "" Or r.Offset(0, 3) = "" Or r.Offset(0, 4) = "" Then
MsgBox "Kein Übertrag in die Bestell-Historie für Zeile " & r.EntireRow.Address & _
" möglich, da Spalte B, D oder E leer! Spalten füllen und Button erneut drücken!",   _
_
_
vbInformation
End If
End If
ActiveWorkbook.Worksheets("Historie").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Historie").Sort.SortFields.Add Key:=Range("F1, H1, E1") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Historie").Sort
.SetRange Range("A1").CurrentRegion
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Worksheets("Eingangskontrolle").Activate
ActiveWorkbook.Worksheets("Eingangskontrolle").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Eingangskontrolle").Sort.SortFields.Add Key:=Range("B1, F1, G1, _
_
_
H1") _
, SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("Eingangskontrolle").Sort
.SetRange Range("A1").CurrentRegion
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Next r
End Sub

Lieben Dank im Voraus.

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Verschiedene Sortierung auf zwei Tabellenblättern
03.08.2018 21:11:56
onur
Da keiner deine Datei kennt, ist es kaum möglich, dir zu helfen.
AW: Verschiedene Sortierung auf zwei Tabellenblättern
04.08.2018 08:55:56
Hajo_Zi
dem kann man nur zustimmen.

Beiträge von Werner, Luc, robert, J.O.Maximo und folgende lese ich nicht.
AW: Verschiedene Sortierung auf zwei Tabellenblättern
04.08.2018 09:24:49
Anni
Sorry, dachte ich hätte sie angefügt. Muss ich aber offensichtlich vergessen haben.
Da ich zur Zeit nicht an der Arbeit bin, hier die Kopie aus erwähntem Thread:
https://www.herber.de/bbs/user/122970.xlsm
Und hier nochmal die Idee hinter der ganzen Geschichte, ebenfalls aus dem Thread (funktioniert soweit super, bis auf die Sortierung des 1.Tabellenblatts):
Ich möchte aus unserer Bestellliste/Rechnungskontrolle heraus eine Historie erstellen. Unsere Rechningskontrolle hat eine Übersicht über alle Produkte, die wir bestellen, Preisentwicklungen, Qualitätsbewertungen usw. Es ist eine recht umfangreiche Tabelle von A bis AM. Spalten F bis AM liefern hierbei alle Informationen zu den Produkten, während wir in Spalte B bis E Bestellinformationen speichern. Wenn jemand also merkt, dass ein Vorrat zur Neige geht, trägt er in Spalte B das Anforderungsdatum ein. C zeigt an, wem das aufgefallen ist, D wie viel bestellt werden soll und E dann schließlich, wann nachbestellt wurde.
Bisher haben wir es immer so verwaltet, dass nach Eingang die Spalten B - E geleert und dann einfach neu sortiert wurde.
Jetzt möchte ich aber aus diversen internen Gründen aus dieser Tabelle eine Bestellhistorie erstellen.
Das stelle ich mir etwa so vor:
In Spalte A wird ein "x" eingetragen, sobald die Bestellung hier eingegangen ist. Danach drückt man einen Button (derzeit etwas unscheinbar positioniert in AN), der das Makro aktiviert. Dieses sucht in Spalte A, ob ein "x" eingetragen ist. Wenn ja, kopiert es die Zeile von A bis AM und fügt sie in ein zweites Tabellenblatt namens "Historie" ein. Danach geht das Makro in das erste Tabellenblatt und löscht den Inhalt der Zeilen A bis E.
Ich habe das Makro durch Ausführen meiner Idee aufgezeichnet (inklusive Umsortierungen, die ich oben nicht erwähnt habe), aber jetzt will es mit der Bedingung ("wenn in Spalte A "x" steht, dann..." usw) nicht ganz klappen. Ich habe jetzt nach viel Internetrecherche einiges ausprobiert, aber nichts davon hat bis jetzt funktioniert. Da ich mich doch zu wenig auskenne und die Fälle nicht 1 zu 1 übertragbar sind. Zumindest nicht die, die ich gefunden habe.
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige