Visible-Eigenschaft des Worksheet-Objektes kann ni
24.07.2018 15:31:09
Dennis
Habe wieder ein Problem mit VBA. Es hat anfangs funktioniert, dann habe ich etwas geändert ) und es lief nicht mehr.
Ich habe 5 Datenblätter, Tabelle1 ist sichtbar für den Benutzer, andere vier sollen immer ausgeblendet werden und zusätzlich habe ich ein Blattschutz, so das nur bestimmte Zellen Bearbeitet werden können.
Die Tabelle1 hat Formeln die auf alle anderen Tabellen zugreifen.
Folgende Codes habe ich eingefügt:
Sub PDF_Speichern()
Dim pdfDateiName As String
Dim pdfName As Variant
With Worksheets("Angebot")
pdfDateiName = "AG_" & ActiveSheet.Range("D16") & "_" & ActiveSheet.Range("D17") & ".pdf "
pdfName = Application.GetSaveAsFilename(InitialFileName:=pdfDateiName, FileFilter:="PDFfiles, *.pdf", Title:="PDF speichern")
If TypeName(pdfName) = "String" Then
Application.ScreenUpdating = False
Application.DisplayFullScreen = False
.Visible = xlSheetVisible
Call .Rows(22).AutoFilter(Field:=6, Criteria1:="1")
Call .ExportAsFixedFormat(Type:=xlTypePDF, Filename:=pdfName, Quality:= _
xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _
OpenAfterPublish:=True)
.Visible = xlSheetVeryHidden
Application.DisplayFullScreen = True
Application.ScreenUpdating = True
End If
End With
End Sub
Public Sub PDF_MAIL()
Dim strPDFD As String
Dim objOutApp As Object, objMessage As Object
strPDFD = ThisWorkbook.Path & "AG_" & ActiveSheet.Range("D16") & "_" & ActiveSheet.Range(" _
D17") & ".pdf"
Application.ScreenUpdating = False
Application.DisplayFullScreen = False
With Worksheets("Angebot")
.Visible = xlSheetVisible
Call .Rows(22).AutoFilter(Field:=6, Criteria1:="1")
Call .ExportAsFixedFormat(Type:=xlTypePDF, Filename:=strPDFD, _
Quality:=xlQualityStandard, IncludeDocProperties:=False, _
IgnorePrintAreas:=False, OpenAfterPublish:=False)
.Visible = xlSheetVeryHidden
End With
Application.DisplayFullScreen = True
Application.ScreenUpdating = True
Set objOutApp = CreateObject("Outlook.Application")
Set objMessage = objOutApp.CreateItem(0)
With objMessage
.To = ThisWorkbook.Worksheets("Configurator").Range("D7").Value 'Empfaenger
.Subject = ThisWorkbook.Worksheets("Configurator").Range("D21") & "_" & Range("D16"). _
Value 'Betreffzeile
.body = ThisWorkbook.Worksheets("Configurator").Range("C84").Value 'Inhalt
Call .Attachments.Add(strPDFD)
Call .Display
'Call .Send
Call Kill(PathName:=strPDFD)
End With
Set objOutApp = Nothing
Set objMessage = Nothing
End Sub
Sub Reset()
Range("D2:D10,D16:D17,D21:D22,D29,D36:D37,D44:D45,D47:D48,D59:D70,G60,E21,H62").Value = ""
Dim chkBox As Excel.CheckBox
Application.ScreenUpdating = False
For Each chkBox In ActiveSheet.CheckBoxes
chkBox.Value = xlOff
Next chkBox
Application.ScreenUpdating = True
End Sub
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Selection.Rows.AutoFit
ActiveSheet.UsedRange.Rows.AutoFit
End Sub
Private Sub Workbook_Open()
Application.DisplayFullScreen = True
ActiveWorkbook.protect Windows:=True
ActiveWindow.DisplayHeadings = False
Application.DisplayFormulaBar = False
Windows(1).DisplayHorizontalScrollBar = False
Windows(1).DisplayVerticalScrollBar = False
End Sub
Leider bekomme ich den Fehler: Laufzeitfehler 1004:Die Visible-Eigenschaft des Worksheet-Objektes kann nicht festgelegt werden.
Komme einfach nicht weiter.
Bitte um eure Hilfe!
Vielen Dank im Voraus!
Gruß
Dennis