Althir81
Lieutenant
- Registriert
- Dez. 2002
- Beiträge
- 537
Hallo Community,
vermutlich habe ich einfach einen Denkfehler... ich soll mich um ein Excelsheet mit folgendem VBA Code kümmern
Beim drücken des Buttons zum Speichern, meldet er Zieldatei nicht gefunden.
Die Pfade sind erreichbar...
Falls Ihr noch weitere Infos benötigt, gern kurz melden.
Danke & Gruß
Oliver
vermutlich habe ich einfach einen Denkfehler... ich soll mich um ein Excelsheet mit folgendem VBA Code kümmern
Code:
Function LeereStellen() As Boolean
With Tabelle1
'Artikelnummer
On Error GoTo Namen
If .Cells(2, 2) = "" Then
.Cells(2, 1).Font.Color = RGB(255, 0, 0)
Else
.Cells(2, 1).Font.Color = RGB(0, 0, 0)
End If
'Charge:
If .Cells(3, 2) = "" Then
.Cells(3, 1).Font.Color = RGB(255, 0, 0)
Else
.Cells(3, 1).Font.Color = RGB(0, 0, 0)
End If
'Werkstoff
If .Cells(4, 2) = "" Then
.Cells(4, 1).Font.Color = RGB(255, 0, 0)
Else
.Cells(4, 1).Font.Color = RGB(0, 0, 0)
End If
'Produktionsanlage und Produktionszeitraum nur für Extrusion
If .Cells(6, 6) <> 4 Then
'Produktionsanlage
If .Cells(11, 2) = "" Then
.Cells(11, 1).Font.Color = RGB(255, 0, 0)
Else
.Cells(11, 1).Font.Color = RGB(0, 0, 0)
End If
'Produziert von
If .Cells(11, 5) = "" Then
.Cells(11, 4).Font.Color = RGB(255, 0, 0)
Else
.Cells(11, 4).Font.Color = RGB(0, 0, 0)
End If
'Produziert bis
If .Cells(11, 9) = "" Then
.Cells(11, 8).Font.Color = RGB(255, 0, 0)
Else
.Cells(11, 8).Font.Color = RGB(0, 0, 0)
End If
End If
'Meldung ausgeben, dass nicht alle Daten gepflegt sind
If .Cells(2, 1).Font.Color Or .Cells(3, 1).Font.Color Or _
.Cells(4, 1).Font.Color Or .Cells(11, 2).Font.Color Or .Cells(11, 4).Font.Color _
Or .Cells(11, 6).Font.Color = RGB(255, 0, 0) Then
MsgBox "Bitte alle erforderlichen Daten eingeben", vbOKOnly
LeereStellen = False
Else
LeereStellen = True
End If
End With
Exit Function
Namen:
MsgBox "Bitte die Eingaben prüfen", vbOKOnly
End Function
Function Ausschussgrund() As Boolean
With Tabelle1
'Meldung ausgeben, dass kein Ausschussgrund angegeben wurde
If .Cells(22, 3) = False And .Cells(23, 3) = False And .Cells(24, 3) = False And .Cells(25, 3) = False And .Cells(26, 3) = False _
And .Cells(27, 3) = False And .Cells(28, 3) = False And .Cells(29, 3) = False And .Cells(30, 3) = False And .Cells(31, 3) = False _
And .Cells(32, 3) = False And .Cells(33, 3) = False And .Cells(34, 3) = False And .Cells(35, 3) = False And .Cells(36, 3) = False _
And .Cells(21, 4) = False And .Cells(22, 4) = False And .Cells(24, 4) = False And .Cells(25, 4) = False And .Cells(21, 5) = False _
And .Cells(22, 5) = False And .Cells(23, 5) = False And .Cells(24, 5) = False And .Cells(21, 6) = False And .Cells(22, 6) = False Then
MsgBox "Bitte einen Ausschussgrund auswählen", vbOKOnly
Ausschussgrund = False
Else
Ausschussgrund = True
End If
End With
End Function
Private Sub cmdSpeichern_Click()
Dim strArtikel, strBA, strWerkstoff, strErsteller, strDatum, strVon, strBis, _
intKategorie, intErkannt, intFertiger, intAnlage, intGut, intAWare, intBWare, intSchrott, intMuster, _
blnAAusbruch, blnAEinfallstelle, blnAKurzlaenge, blnAMittenversatz, blnALunker, blnARisse, blnAForm, _
blnAKaltstelle, blnABambus, blnAAnbackeffekt, blnAMaßhaltigkeit, blnAFließlinien, blnASchuppen, _
blnAAnfahrausschuss, blnBVisko, blnBAnbackeffekt, blnBAusspuelungen, blnBPunkte, blnSFremdkoerper, _
blnSMetall, blnSUebertempert, blnSVerbrannt, blnMMaß, blnMErstmuster, strEinheit, strBemerkung, _
blnLeereStellen, blnAusschussgrund, blnAReststueck, intGutProzent, intAWareProzent, intBWareProzent, _
intSchrottProzent, intMusterProzent, intKW, shQuelle, blnBeendet, strWeiss, strGelb, intAnfahrM, intAnfahrP, _
intZeile As Integer, blnABindenaht, blnAPoren, blnAFuellung
Dim wkbZiel As Workbook, wkbDaten As Workbook, wkbQuelle As Workbook
Application.ScreenUpdating = False
Set wkbQuelle = ThisWorkbook
blnLeereStellen = LeereStellen
blnAusschussgrund = Ausschussgrund
If blnLeereStellen Or blnAusschussgrund = True Then
'Daten übergeben
With Tabelle1
strArtikel = .Cells(2, 2)
strBA = .Cells(3, 2)
strWerkstoff = .Cells(4, 2)
strErsteller = .Cells(2, 4)
strDatum = .Cells(3, 4)
strVon = .Cells(11, 4)
strBis = .Cells(11, 6)
intKategorie = .Cells(6, 6)
intErkannt = .Cells(10, 6)
intFertiger = .Cells(10, 5)
intAnlage = .Cells(11, 2)
strEinheit = .Cells(16, 1)
intGut = .Cells(16, 2)
intGutProzent = .Cells(18, 2)
intAWare = .Cells(16, 3)
intAWareProzent = .Cells(18, 3)
intBWare = .Cells(16, 4)
intBWareProzent = .Cells(18, 4)
intSchrott = .Cells(16, 5)
intSchrottProzent = .Cells(18, 5)
intMuster = .Cells(16, 6)
intMusterProzent = .Cells(18, 6)
strBemerkung = .Cells(43, 1)
blnAAusbruch = .Cells(25, 3)
blnAEinfallstelle = .Cells(27, 3)
blnAKurzlaenge = .Cells(38, 3)
blnAMittenversatz = .Cells(40, 3)
blnALunker = .Cells(30, 3)
blnAPoren = .Cells(31, 3)
blnASchuppen = .Cells(32, 3)
blnARisse = .Cells(36, 3)
blnAForm = .Cells(37, 3)
blnAFuellung = .Cells(28, 3)
blnAKaltstelle = .Cells(29, 3)
blnABambus = .Cells(26, 3)
blnAAnbackeffekt = .Cells(22, 5)
blnAMaßhaltigkeit = .Cells(39, 9)
blnAFließlinien = .Cells(34, 3)
blnAReststueck = .Cells(41, 3)
blnAAnfahrausschuss = .Cells(24, 3)
blnBVisko = .Cells(36, 5)
blnBAnbackeffekt = .Cells(22, 5)
blnBAusspuelungen = .Cells(33, 5)
blnBPunkte = .Cells(34, 5)
blnSFremdkoerper = .Cells(37, 7)
blnSMetall = .Cells(38, 7)
blnSUebertempert = .Cells(34, 7)
blnSVerbrannt = .Cells(36, 7)
blnSBW = .Cells(33, 7)
blnMMaß = .Cells(39, 9)
blnMErstmuster = .Cells(37, 9)
blnABindenaht = .Cells(33, 3)
blnBeendet = .Cells(12, 6)
strWeiss = .Cells(37, 1)
strGelb = .Cells(39, 1)
If .Cells(24, 3) = True Then
intAnfahrM = .Cells(25, 2)
intAnfahrP = .Cells(26, 2)
End If
End With
If Tabelle1.Cells(6, 6) <> 4 Then
On Error GoTo Datei
Set wkbZiel = GetObject("\\FILE-01\Extrusion\Laufende Produktionen\" & strArtikel & "_BA" & strBA & ".xlsm")
End If
intZeile = 1
'Datenconainer öffnen und Daten übergeben
Set wkbDaten = Workbooks.Open("\\Q:\Qualitätssicherung\Datencontainer\Ausschuss_Extrusion.xlsx")
'Leere Zeile finden
Do While Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("A" & intZeile) <> ""
intZeile = intZeile + 1
Loop
'Daten in die Datei schreiben
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("A" & intZeile) = intZeile - 1
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("B" & intZeile) = strArtikel
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("C" & intZeile) = strBA
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("D" & intZeile) = strWerkstoff
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("E" & intZeile) = intKategorie
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("F" & intZeile) = strErsteller
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("G" & intZeile) = strDatum
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("H" & intZeile) = intErkannt
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("I" & intZeile) = intFertiger
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("J" & intZeile) = intAnlage
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("K" & intZeile) = strVon
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("L" & intZeile) = strBis
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("M" & intZeile) = strEinheit
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("N" & intZeile) = intGut
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("O" & intZeile) = intGutProzent
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("P" & intZeile) = intAWare
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("Q" & intZeile) = intAWareProzent
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("R" & intZeile) = intBWare
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("S" & intZeile) = intBWareProzent
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("T" & intZeile) = intSchrott
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("U" & intZeile) = intSchrottProzent
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("V" & intZeile) = intMuster
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("W" & intZeile) = intMusterProzent
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("X" & intZeile) = strBemerkung
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("Y" & intZeile) = blnAAusbruch
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("Z" & intZeile) = blnAEinfallstelle
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("AA" & intZeile) = blnAKurzlaenge
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("AB" & intZeile) = blnAMittenversatz
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("AC" & intZeile) = blnALunker
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("AD" & intZeile) = blnAPoren
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("AE" & intZeile) = blnARisse
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("AF" & intZeile) = blnAForm
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("AG" & intZeile) = blnAFuellung
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("AH" & intZeile) = blnAKaltstelle
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("AI" & intZeile) = blnABambus
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("AJ" & intZeile) = blnAAnbackeffekt
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("AK" & intZeile) = blnAMaßhaltigkeit
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("AL" & intZeile) = blnAFließlinien
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("AM" & intZeile) = blnAReststueck
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("AN" & intZeile) = blnASchuppen
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("AO" & intZeile) = blnAAnfahrausschuss
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("AP" & intZeile) = blnABindenaht
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("AQ" & intZeile) = blnBVisko
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("AR" & intZeile) = blnBAnbackeffekt
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("AS" & intZeile) = blnBAusspuelungen
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("AT" & intZeile) = blnBPunkte
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("AU" & intZeile) = blnSFremdkoerper
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("AV" & intZeile) = blnSMetall
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("AW" & intZeile) = blnSUebertempert
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("AX" & intZeile) = blnSVerbrannt
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("AY" & intZeile) = blnSBW
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("AZ" & intZeile) = blnMMaß
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("BA" & intZeile) = blnMErstmuster
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("BB" & intZeile) = blnBeendet
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("BC" & intZeile) = strWeiss
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("BD" & intZeile) = strGelb
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("BE" & intZeile) = intAnfahrM
Workbooks("Ausschuss_Extrusion.xlsx").Sheets("Tabelle1").Range("BF" & intZeile) = intAnfahrP
'Datencontainer schließen und speichern
wkbDaten.Close (True)
'Tabellenblatt in Prüfprotokoll von entsprechender BA kopieren (nur bei Extrusion)
Set shQuelle = ThisWorkbook.ActiveSheet
Tabelle1.Cells(4, 7) = intZeile - 1
If Tabelle1.Cells(6, 6) <> 4 Then
Windows(wkbZiel.Name).Visible = True
'Hinter letztes Tabellenblatt speichern
shQuelle.Copy After:=wkbZiel.Sheets(wkbZiel.Sheets.Count)
'Tebellenblattname ändern und mit KW versehen
intKW = Format(Date, "ww", 2, 3)
wkbZiel.Worksheets(wkbZiel.Sheets.Count).Name = "Auschussquittung_KW" & intKW
'Speichernbutton löschen
wkbZiel.Worksheets(wkbZiel.Sheets.Count).Shapes.Range(Array("cmdSpeichern")).Delete
'Benutzernamen und Datumkopieren und als Werte wieder einfügen
wkbZiel.Worksheets(wkbZiel.Sheets.Count).Range("E2:F3").Copy
wkbZiel.Worksheets(wkbZiel.Sheets.Count).Range("E2:F3").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
'Protokolldatei speichern
wkbZiel.Save
'Ausschussquittung ausdrucken
wkbZiel.Worksheets(wkbZiel.Sheets.Count).PrintOut Copies:=2
Else
'Ausschussquittung drucken SPAN
wkbQuelle.PrintOut
End If
'Bildschirmaktivität einschalten
Application.ScreenUpdating = True
'Formulat ohne speichern schließen
wkbQuelle.Close SaveChanges:=False
End If
Exit Sub
Datei:
MsgBox "Zieldatei nicht gefunden. Bitte Name und Speicherort überprüfen", vbOKOnly, "Zieldatei nicht gefunden"
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
End Sub
Beim drücken des Buttons zum Speichern, meldet er Zieldatei nicht gefunden.
Die Pfade sind erreichbar...
Falls Ihr noch weitere Infos benötigt, gern kurz melden.
Danke & Gruß
Oliver