nachdem mir hier schon einige Male geholfen werden konnte habe ich heute mal wieder 2 Anliegen.
Aus SAP habe ich eine Liste im Excel- Format exportiert.
Diese ist natürlich so nicht brauchbar. Diese Liste müsste umstrukturiert werden, damit Autofilter usw eingesetzt werden können.
Hier ist die Datei: https://www.herber.de/bbs/user/77890.xls
Im Tabellenblatt Materialstamm_SAP ist das Originalformat aus SAP
Das Blatt Materialstamm_soll zeigt den gewünschten Zustand.
Kann mir hier jemand behilflich sein?
Das 2. Problem ist:
Ich habe eine Excel- Tabelle die eine Bestimmte Anzahl von Packscheinen (Auftragsabhängig) ausdruckt.
Leider kann man momentan jeden Auftrag x- mal drucken.
Ich suche nun eine Möglichkeit, den Ausdruck auf 1 Durchlauf zu begrenzen.
Kann man im Hintergrund ein Tabellenblatt z.b. die erste Spalte nach und nach mit den gedruckten Aufträgen füllen. Wenn nun versucht wird ein bereits in der Spalte A vorhandener Auftrag zu drucken, dass der Druckvorgang abgebrochen wird?
Ich weiß, dass das bestimmt nicht schön ist- es erfüllt aber seinen Zweck :-)
Hier das Makro:
Option Explicit
Private Sub CommandButton1_Click()
Dim iCnt As Integer, iLoop As Integer, formelauszelle As String
If Worksheets("Packzettel").Range("b25") = "F E H L E R !" Then _
GoTo ende
If Worksheets("Packzettel").Range("b21") = "6663100A11600" Then _
ActiveSheet.Shapes("WordArt 48").Visible = True Else _
ActiveSheet.Shapes("WordArt 48").Visible = False
If Worksheets("Auftragsdaten").Range("I16") = "ZERTIFIKAT!" Then _
Call zertifikatdruck _
Else
Sheets("Packzettel").Activate
formelauszelle = Worksheets("Auftragsdaten").Range("a14").Formula
iCnt = Worksheets("Auftragsdaten").Range("a14").Value
For iLoop = 1 To iCnt
Worksheets("Auftragsdaten").Range("a14") = iLoop
ActiveSheet.PageSetup.CenterFooter = "&""Arial,Fett""&58VE " & _
iLoop & " of " & iCnt
ActiveSheet.PrintOut
Application.DisplayAlerts = False
Next iLoop
Worksheets("Auftragsdaten").Range("a14").Value = formelauszelle
ActiveSheet.Shapes("WordArt 48").Visible = False
Application.DisplayAlerts = True
If MsgBox("Übermengenzettel drucken?", vbOKCancel + vbQuestion) = vbCancel Then
Sheets("Auftragsdaten").Activate
Exit Sub
End If
Call übermengenzettel
Exit Sub
ende:
Call fehler
End Sub
Private Sub zertifikatdruck()
Sheets("Zertifikat").Activate
MsgBox "Zertifikatdruck- Bitte 1 Seite weisses Papier einlegen"
ActiveSheet.PrintOut
End Sub
Private Sub fehler()
MsgBox "FEHLER im PACKZETTEL- Ausdruck nicht möglich!"
End Sub
Private Sub übermengenzettel()
Dim ÜbAnz As Integer, übcnt As Integer
Sheets("Übermengenzettel").Activate
ÜbAnz = InputBox("Anzahl der zu druckenden Übermengenzettel (2 Stk./Seite!")
For übcnt = 1 To ÜbAnz
ActiveSheet.PrintOut
Next übcnt
Sheets("Auftragsdaten").Activate
End Sub