Lagerbestände aufbereiten

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Lagerbestände aufbereiten
von: Michael
Geschrieben am: 05.05.2015 12:14:03

Hallo zusammen,
ich habe folgendes Problem:
Wir erhalten aus unserem ERP-System monatlich eine Auswertung über bestimmte Lagerplätze. Diese Datei wird automatisch als .CSV-Datei abgelegt und muss jetzt von mir so aufbereitet werden, dass man gewisse Daten schnell erkennt.
Ich habe 2 .CSV-Dateien als Anschauungsobjekte hochgeladen.
https://www.herber.de/bbs/user/97467.zip
Folgende Rahmen-Parameter können sich hier ändern, und sollten evtl. variabel mit einprogrammiert werden, so dass das Makro auf alle .CSV Dateien angewendet werden kann:
Dateiname
Name des Registerblattes
Anzahl der Zeilen
Die Überschriften der Spalten sind immer dieselben, auch sind die Formatierungen der Zellen immer so, wie in den Beispieldateien dargestellt.
Wie ich mir die Datei aufbereitet vorstelle:
- Alle Preise werden mit 2 Nachkommastellen angezeigt
- Die Spalten "Abwertung" und "Wert abgewertet" (H und I) werden ausgeblendet
- Die Daten werden nach Artikelnummer sortiert, erst die 5-stelligen als Block,
darunter die 10-stelligen als Block
- Im Block der 5-stelligen Artikelnummern wird nach der Spalte Wert (G) absteigend
sortiert
- Im Block der 10-stelligen Artikelnummern wird nach er Spalte Wert (G) absteigend
sortiert
- In Zelle J1 steht die Überschrift "Summe Einkaufsteile"
- In Zelle K1 steht die Überschrift "Summe Zeichnungsteile"
- In Zelle J2 steht die Summe aller Werte (G) für die 5-stelligen Artikelnummern
- In Zelle K2 steht die Summe aller Werte (G) für die 10-stelligen Artikelnummern
- Der Bereich J1 bis K2 wird fett und rot geschrieben
Vielen Dank schon mal im Voraus!
Gruß
Michael

Bild

Betrifft: AW: Lagerbestände aufbereiten
von: Kenny
Geschrieben am: 07.05.2015 14:02:03
Hallo Michael,
habe es mal so gemacht. Hoffe es funktioniert:


Private Sub CommandButton1_Click()
ende = ActiveSheet.UsedRange.Rows.Count
ende2 = ActiveSheet.UsedRange.Columns.Count
Range("F3:G" & ende).NumberFormat = "0.00"
ActiveSheet.Columns(8).EntireColumn.Hidden = True
ActiveSheet.Columns(9).EntireColumn.Hidden = True
For spalte = 1 To 9
    If ActiveSheet.Cells(2, spalte) = "Artikel" Then
        Exit For
    End If
Next
Range(ActiveSheet.Cells(3, 1), ActiveSheet.Cells(ende, ende2)).Sort _
Key1:=Range(ActiveSheet.Cells(3, spalte), ActiveSheet.Cells(ende, spalte)), Order1:=xlAscending, _
 _
Header:=xlGuess, MatchCase:=False, _
Orientation:=xlTopToBottom
For zeile = 3 To ende
    If Len(Str(ActiveSheet.Cells(zeile, 2))) > 6 Then
        Exit For
    End If
Next
Range("A3:K" & zeile - 1).Sort _
Key1:=Range("G" & zeile - 1), Order1:=xlDescending, _
Header:=xlGuess, MatchCase:=False, _
Orientation:=xlTopToBottom
Range(ActiveSheet.Cells(zeile, 1), ActiveSheet.Cells(ende, ende2)).Sort _
Key1:=Range("G" & zeile - 1), Order1:=xlDescending, _
Header:=xlGuess, MatchCase:=False, _
Orientation:=xlTopToBottom
Range("J1") = "Summe Einkaufsteile"
Range("K1") = "Summe Zeichnungsteile"
Range("J2") = Application.Sum(Range("A3:K" & zeile - 1))
Range("K2") = Application.Sum(Range(ActiveSheet.Cells(zeile, 1), ActiveSheet.Cells(ende, ende2)) _
)
Range("J1:K2").Font.Bold = True
Range("J1:K2").Font.ColorIndex = 3
End Sub


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Zeilen zusammenführen"