sorry, dass ich hier einfach so mit quasi "leeren Händen" auftauche. Ich habe mir ein kleines Arbeits-projekt vorgenommen, aber meine (sowieso eher rudimentären) Makro-Programmierungskentnisse sind doch viel zu eingerostet.
Mein Problem ist folgendes:
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.
Das ist der Code, den ich bis jetzt habe:
Sub Historie()
' Historie Makro
ActiveSheet.Shapes("CommandButton1").Select
Range("A5:AM5").Select
Selection.Copy
Sheets("Historie").Select
Range("A5").Select
ActiveSheet.Paste
Application.CutCopyMode = False
ActiveWorkbook.Worksheets("Historie").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Historie").AutoFilter.Sort.SortFields.Add Key:= _
Range("H1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With ActiveWorkbook.Worksheets("Historie").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Sheets("Eingangskontrolle").Select
Range("A5:E5").Select
Selection.ClearContents
ActiveWorkbook.Worksheets("Eingangskontrolle").AutoFilter.Sort.SortFields.Clear
ActiveWorkbook.Worksheets("Eingangskontrolle").AutoFilter.Sort.SortFields.Add _
Key:=Range("B1"), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption _
:=xlSortNormal
With ActiveWorkbook.Worksheets("Eingangskontrolle").AutoFilter.Sort
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Die abgespeckte Beispieldatei findet ihr hier:
https://www.herber.de/bbs/user/122970.xlsm
Lieben Dank im Voraus!