Makro Excel 2011 umstieg auf Office365
#1
Question 
Guten Tag erstmal. Suche Hilfe hier bevor ich durchdrehe. Sehe den Fehler nicht.
Habe bis heute auf der Mac OS Plattform Excel 2011 zum laufen gehabt und die Makros 
haben ihren Dienst getan, bis ich jetzt auf Catalina OS Version umgesattelt bin und somit 
keine 32bit Unterstützung mehr gab. Also Neuestes Office installiert und folgende Makros 
werden nicht korrekt ausgeführt: Speicherung mit Name aus Spalte D7 wird mit Laufzeitfehler 1004 mit
der Anmerkung das ich keine Berechtigung besitze es an diesem Ort zu speichern... des Weiteren 
stürzt er ab beim Druckmakro.
makro.bas hat folgenden Inhalt:


Code:
Attribute VB_Name = "Modul1"
Sub Speichern_BeiKlick()
If Range("D1") = "" Then
MsgBox "Fehler! Eingabe des Datum`s fehlt! " If Range("D1") = "" Then GoTo FINI
End If
If ActiveWorkbook.Name = "Eingabe.xls" Then Dim dName$
Dim dS$
dName = Worksheets(1).Range("D1") & (".xls") dS = ThisWorkbook.Path & ":Nachweise:" & dName ActiveWorkbook.SaveAs dS
End If
If ActiveWorkbook.Name <> "Eingabe.xls" Then Dim dName1$
Dim dS1$
dName1 = Worksheets(1).Range("D1") & (".xls") dS1 = ThisWorkbook.Path & ":" & dName1 ActiveWorkbook.SaveAs dS1
End If
FINI:
End Sub
Sub Drucken_BeiKlick()
If ActiveWorkbook.Name = "Eingabe.xlsx" Then
MsgBox "Drucken nicht möglich ohne vorher zu speichen!" End If
If ActiveWorkbook.Name = "Eingabe.xls" Then GoTo FINI
Dim x$
If Range("A7") = "" Then GoTo FINI
If Range("A7") > "" Then x = 1 If Range("B36") > "" Then x = 2 If Range("B71") > "" Then x = 3 If Range("B106") > "" Then x = 4 If Range("B141") > "" Then x = 5 If Range("B176") > "" Then x = 6
ActiveSheet.PageSetup.PrintArea = "Druckbereich" ActiveWindow.SelectedSheets.PrintOut From:=1, To:=x, Copies:=1, Collate _ :=True
ActiveWindow.View = xlNormalView
FINI:
End Sub
Sub auto_open()
Application.DisplayFullScreen = True Application.DisplayFormulaBar = False CommandBars("Worksheet Menu Bar").Enabled = False End Sub

Sub Beenden_close()

If ActiveWorkbook.Name = "Eingabe.xls" Then GoTo nr1 If ActiveWorkbook.Name <> "Eingabe.xls" Then GoTo nr2
nr1:
Application.DisplayFullScreen = True CommandBars("Worksheet Menu Bar").Enabled = False Application.DisplayFormulaBar = False Application.DisplayAlerts = True ThisWorkbook.Close Saved = True
GoTo ENDE
nr2:
Application.DisplayFullScreen = True CommandBars("Worksheet Menu Bar").Enabled = True Application.DisplayFormulaBar = True Application.DisplayAlerts = False ThisWorkbook.Close Savechanges:=True
GoTo ENDE
ENDE: End Sub


Also so sieht er aus und danke im Voraus schon mal!

Mit freundlichen Grüßen nanobottom
Top
#2
So sieht meine nicht so komfortable Lösung aus aber es läuft halt   :18:  ...
vielleicht hat ja doch noch jemand eine bessere Lösung ....

Mit freundlichen Grüßen 



Code:
Sub Beenden_close()

If ActiveWorkbook.Name = "Eingabe.xlsm" Then GoTo nr1
If ActiveWorkbook.Name <> "Eingabe.xlsm" Then GoTo nr2
nr1:
Application.DisplayFullScreen = True
CommandBars("Worksheet Menu Bar").Enabled = False
Application.DisplayFormulaBar = False
Application.DisplayAlerts = True
ThisWorkbook.Close Saved = True
GoTo Ende
nr2:
Application.DisplayFullScreen = True
CommandBars("Worksheet Menu Bar").Enabled = True
Application.DisplayFormulaBar = True
Application.DisplayAlerts = False
ThisWorkbook.Close Savechanges:=True
GoTo Ende

Ende: End Sub


Sub Speichern_neu()

If Range("D1") = "" Then
MsgBox "Fehler! Eingabe des Datums fehlt!"
If Range("D1") = "" Then GoTo FINI

End If

ActiveWorkbook.SaveAs ThisWorkbook.Path & Range("D1") & (".xlsm")


FINI:
Ende: End Sub


Sub Druckdialog()

If ActiveWorkbook.Name = "Eingabe.xlsm" Then
MsgBox "Drucken nicht möglich ohne vorher zu speichern!"
End If

If ActiveWorkbook.Name = "Eingabe.xlsm" Then GoTo FINI


Application.Dialogs(xlDialogPrint).Show

FINI:
End Sub
Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste