AW: Ne, frech von dir,...
23.10.2012 14:46:34
dir,...
Ich wusste nicht, dass die beiden Foren irgendwas miteinander gemein haben.
Die Antwort von Klaus hilft mir leider gar nichts.
Hier der Code, danke für einen hilfreichen Tipp...!
Sub Start()
FormSperren (True)
DeklariereVariablen
'Bericht runterladen
SetStatus ("Suche Bericht...")
If Dir(xlsBericht) = "" Then
ConfirmN
SetStatus ("Kein Bericht gefunden. Lade aktuellen Bericht herunter...")
If Not Download(urlBericht, xlsBericht) Then ConfirmP
Else
ConfirmP
SetStatus ("Bericht gefunden. Überprüfe Aktualität...")
If Format(FileDateTime(xlsBericht), "DD.MM.YYYY") CDate(MainForm.TextBoxBis.Text) Then
.Rows(i).Delete
Else: i = i + 1
End If
Else: i = i + 1
End If
Loop
End With
Range("A1").Select
ConfirmP
'PivotTabelle erstellen
SetStatus ("Erstelle PivotTabelle...")
ThisWorkbook.Sheets("Daten").Select
ThisWorkbook.PivotCaches.Add(SourceType:=xlDatabase, SourceData:= _
"Daten" + "!$A:$AN").CreatePivotTable TableDestination:="", TableName:= _
"Pivot1", DefaultVersion:=xlPivotTableVersion10
ActiveSheet.PivotTableWizard TableDestination:=ActiveSheet.Cells(3, 1)
ActiveSheet.Cells(3, 1).Select
ActiveSheet.PivotTables(1).ColumnGrand = False
ActiveWorkbook.ShowPivotTableFieldList = False
ActiveSheet.Name = "Pivot"
'PivotTabelle bestücken
With ActiveSheet.PivotTables(1).PivotFields("Material-Nummer")
.Orientation = xlRowField
.Position = 1
End With
With ActiveSheet.PivotTables(1).PivotFields("Handelnder")
.Orientation = xlColumnField
.Position = 1
End With
ActiveSheet.PivotTables(1).AddDataField ActiveSheet.PivotTables(1).PivotFields(" _
Auftragsmenge in BME"), "Anzahl von Auftragsmenge in BME", xlSum
'Nicht benötigte Daten aus PivotTabelle ausblenden
With ActiveSheet.PivotTables(1).PivotFields("Handelnder")
For i = 1 To .PivotItems.Count
If LCase(.PivotItems(i).Name) = "ec" Then
.PivotItems(i).Visible = True
ElseIf LCase(.PivotItems(i).Name) = "lk" Then
.PivotItems(i).Visible = True
ElseIf LCase(.PivotItems(i).Name) = "nicht zugeordnet" Then
.PivotItems(i).Visible = True
ElseIf LCase(.PivotItems(i).Name) = "wk" Then
.PivotItems(i).Visible = True
Else: .PivotItems(i).Visible = False
End If
Next
End With
ConfirmP
'Auswertungs-Sheet wird bestückt
SetStatus ("Erstelle Auswertungstabelle...")
'Bestellnummern kopieren
For i = 5 To Sheets("Pivot").UsedRange.Rows.Count + 2
Sheets(1).Cells(i + 5, 2).Value = Sheets("Pivot").Cells(i, 1)
Next
'Gesamtmenge
For i = 5 To Sheets("Pivot").UsedRange.Rows.Count + 2
Sheets(1).Cells(i + 5, 6).Value = Sheets("Pivot").Cells(i, 6)
Next
'Rückstand (Bestand - Bestellmenge)
For i = 10 To Sheets(1).UsedRange.Rows.Count
Sheets(1).Cells(i, 5).FormulaR1C1 = "=RC[-2]-RC[1]"
Next
'Bedarf (Bestand + FAUF - Bestellmenge)
For i = 10 To Sheets(1).UsedRange.Rows.Count
Sheets(1).Cells(i, 7).FormulaR1C1 = "=RC[-4]+RC[-3]-RC[-1]"
Next
ThisWorkbook.Sheets(1).Activate
ConfirmP
'Materialnummern in Zwischenablage
Range("B10").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
FormSperren (False)
End Sub