hi, ich habe ein Workbook: "AVK.XLSM". IN dieser wird folgendes Makro ausgeführt um die Datei zu speichern:
Sub Erstellen()
ActiveWorkbook.Save
For Each x In Workbooks
If x.Name = Worksheets("Werte").Range("J1").Value & Worksheets("Werte").Range("B2").Value & Worksheets("Werte").Range("H2").Value & ".xlsm" Then
MsgBox "Datei ist noch geöffnet! Bitte die Datei: " & Worksheets("Werte").Range("J1").Value & Worksheets("Werte").Range("B2").Value & Worksheets("Werte").Range("H2").Value & ".xlsm" & " schließen & erneut probieren!"
GoTo weiter
Exit For
End If
Next
ActiveWorkbook.SaveCopyAs Filename:= _
ActiveWorkbook.Path & "\" & Worksheets("Werte").Range("J1").Value & Worksheets("Werte").Range("B2").Value & Worksheets("Werte").Range("H2").Value & ".xlsm"
Workbooks.Open Filename:=ActiveWorkbook.Path & "\" & Worksheets("Werte").Range("J1").Value & Worksheets("Werte").Range("B2").Value & Worksheets("Werte").Range("H2").Value & ".xlsm"
Worksheets(2).Shapes("Picture 21").Visible = False
ActiveWorkbook.Save
Workbooks("AVK.XLSM").Activate
Range("Calc2!BR4").FormulaLocal = "=" & Range("Calc2!BR3").Value & "Calc2!$BR$5"
ActiveWorkbook.Save
Workbooks("das Workbook von zuvor").Activate
ActiveWorkbook.Close savechanges:=False
weiter:
End Sub
Es funktioniert soweit. Jedoch weiß ich nicht, wie ich das zuvor aktivierte Workbook wieder aktivieren kann? Denn dieses (von zuvor) soll am Ende geschlossen werden. Mit der Workbooks.activate-Methode geht das ja nicht, da ich den Namen des Workbooks nicht weiß -> https://msdn.microsoft.com/de-de/library...21837.aspx
Sub Erstellen()
ActiveWorkbook.Save
For Each x In Workbooks
If x.Name = Worksheets("Werte").Range("J1").Value & Worksheets("Werte").Range("B2").Value & Worksheets("Werte").Range("H2").Value & ".xlsm" Then
MsgBox "Datei ist noch geöffnet! Bitte die Datei: " & Worksheets("Werte").Range("J1").Value & Worksheets("Werte").Range("B2").Value & Worksheets("Werte").Range("H2").Value & ".xlsm" & " schließen & erneut probieren!"
GoTo weiter
Exit For
End If
Next
ActiveWorkbook.SaveCopyAs Filename:= _
ActiveWorkbook.Path & "\" & Worksheets("Werte").Range("J1").Value & Worksheets("Werte").Range("B2").Value & Worksheets("Werte").Range("H2").Value & ".xlsm"
Workbooks.Open Filename:=ActiveWorkbook.Path & "\" & Worksheets("Werte").Range("J1").Value & Worksheets("Werte").Range("B2").Value & Worksheets("Werte").Range("H2").Value & ".xlsm"
Worksheets(2).Shapes("Picture 21").Visible = False
ActiveWorkbook.Save
Workbooks("AVK.XLSM").Activate
Range("Calc2!BR4").FormulaLocal = "=" & Range("Calc2!BR3").Value & "Calc2!$BR$5"
ActiveWorkbook.Save
Workbooks("das Workbook von zuvor").Activate
ActiveWorkbook.Close savechanges:=False
weiter:
End Sub
Es funktioniert soweit. Jedoch weiß ich nicht, wie ich das zuvor aktivierte Workbook wieder aktivieren kann? Denn dieses (von zuvor) soll am Ende geschlossen werden. Mit der Workbooks.activate-Methode geht das ja nicht, da ich den Namen des Workbooks nicht weiß -> https://msdn.microsoft.com/de-de/library...21837.aspx
Code:
Workbooks("& "\" & Worksheets("Werte").Range("J1").Value & Worksheets("Werte").Range("B2").Value & Worksheets("Werte").Range("H2").Value & ".xlsm"").Activate