Hallo zusammen,
ich versuche mich seit geraumer Zeit an, mehr oder weniger einfachen, VBA-Programmierungen in Excel.
Ich habe für die Erstellung und den Druck von Dokumenten, hier stehen einige Excel-Formeln und Verweise in der Datei, daher Excel, ein Makro zum Kopieren und Drucken geschrieben, das meiste mit dem Makrorekorder und dann angepasst.
Drucken und Speichern funktioniert gut, jetzt wollte ich aber noch eine Funktion einfügen, die das Drucken und Speichern bei vorhandenen "#NV" überspringt und auf das nächste Dokument geht.
Und hier komme ich nicht weiter, das Makro ingnoriert vorhanden "#NV" im Tabellenblatt und läuft unbeeindruckt durch. Wie muss ich die Funktion anpassen damit das fehlerhafte Dokument übersprungen wird?
Vielen Dank für Eure Hilfe!
Gruß Thomas
Sub UV_NEU_Drucken_UV_Dokumente_unv_d()
Dim lngCounter
Dim clngCUT
Dim lngFirstFree As Long
Dim speicherpfad As String
speicherpfad = "PFAD"
lngCounter = InputBox("Start ab Zeile?", , "1")
clngCUT = InputBox("EndeZeile?", , "1")
Application.DisplayAlerts = False
With Sheets("Vorgaben")
lngFirstFree = .Cells(Rows.Count, "C").End(xlUp).Row
End With
lngFirstFree = WorksheetFunction.Max(4, lngFirstFree - 2)
For lngCounter = lngCounter To clngCUT
Sheets("Vorgaben").Range("C7").Value = Sheets("UV-Daten").Range("A" & lngCounter).Value
Sheets(CStr(Worksheets("UV-Daten").Range("AR" & lngCounter))).Copy Before:=ActiveSheet
ActiveSheet.Select
ActiveSheet.Name = Range("J49")
If Not IsError(ActiveSheet.Range("A1:H150")) Then
ActiveSheet.Select
ActiveSheet.Copy
ActiveSheet.Shapes("GLOBALPEERREVIEW").Select
Selection.Delete
With ActiveWorkbook
.SaveAs Filename:=speicherpfad & Range("J49") & ".xls"
Application.CutCopyMode = False
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True, _
IgnorePrintAreas:=False
.Close SaveChanges = False
End With
ActiveSheet.Select
ActiveSheet.Delete
Next lngCounter
End Sub
|