18.01.2017, 20:35
Hallo liebes Forum,
kann mir bitte jemand sagen, was an den beiden Makros falsch sein könnte, da der Import in die gewählte Datei wohl funktioniert, das Löschen der gewünschten Moduls aber nur manchmal.
Vielen Dank für Eure Hilfe.
Liebe Grüße aus Innsbruck
Helmut
kann mir bitte jemand sagen, was an den beiden Makros falsch sein könnte, da der Import in die gewählte Datei wohl funktioniert, das Löschen der gewünschten Moduls aber nur manchmal.
Vielen Dank für Eure Hilfe.
Liebe Grüße aus Innsbruck
Helmut
Code:
Option Explicit
Sub Makro_Kopieren_Anlage() ' Achtung ! Funktioniert nicht bei Einzelschritten !!
'ACHTUNG! Workbook VBA-Sperre muss offen sein und Einzelschritte gehen nicht !!
'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
'Module aus dieser Datei in die Anlage-Dateien exportieren
Application.ScreenUpdating = False
Dim AktJahr, strPath, strFileName, strPathMakro, strFileMakro, Pfad1, Pfad2, Pfad3, Pfad4, Pfad5, _
Pfad6, Pfad7, Pfad8, StZe
AktJahr = Year(Date)
StZe = " Stundenzettel "
strPath = "C:\Geschäftsleitung\Daten\Neuer PC\Personalverwaltung\Stundenzettel\Stundenzettel " _
& AktJahr & "\"
strFileName = Dir(strPath & "~~~" & StZe & AktJahr & "*.xlsm") 'alle ~~~Anlagedateien
strPathMakro = "C:\Geschäftsleitung\~Vorlagen\Makros Kopieren\"
strFileMakro = "Makros Kopieren-neu-24 PST - FB.xlsm"
Do While strFileName <> "" 'Alle ~~~Anlagedateien
Pfad1 = ThisWorkbook.Path & "\Essenmarken_13.bas" 'für alle DN-Dateien
Pfad2 = ThisWorkbook.Path & "\Sollstunden_24_UD.bas"
Pfad3 = ThisWorkbook.Path & "\Sonnt_Summen_I_13.bas"
Pfad4 = ThisWorkbook.Path & "\Zeit_Zell_Null_Leer_3.bas"
Application.VBE.ActiveVBProject.VBComponents("Modul_Essenmarken_13").Export Pfad1
Application.VBE.ActiveVBProject.VBComponents("Modul_Sollstunden_24_UD").Export Pfad2
Application.VBE.ActiveVBProject.VBComponents("Modul_Sonnt_Summen_I_13").Export Pfad3
Application.VBE.ActiveVBProject.VBComponents("Modul_Zeit_Zell_Null_Leer_3").Export Pfad4
Workbooks.Open Filename:=strPath & strFileName
Makro_Löschen 'Modul
Windows(strFileName).Activate
With ActiveWorkbook
.Application.VBE.ActiveVBProject.VBComponents.Import Pfad1
Kill Pfad1
.Application.VBE.ActiveVBProject.VBComponents.Import Pfad2
Kill Pfad2
.Application.VBE.ActiveVBProject.VBComponents.Import Pfad3
Kill Pfad3
.Application.VBE.ActiveVBProject.VBComponents.Import Pfad4
Kill Pfad4
End With
Windows(strFileName).Activate
ActiveWorkbook.Save
ActiveWorkbook.Close
strFileName = Dir() 'Nächsten Dateinamen ermitteln
If strFileName = "" Then
MsgBox "Keine weiteren Dateien vorhanden !", vbExclamation, "Hinweis"
End If
Loop
Application.ScreenUpdating = True
End Sub
Code:
Sub Makro_Löschen()
'löscht ohne Rückfrage Moduls
With ActiveWorkbook.VBProject
.VBComponents.Remove .VBComponents("Modul_Essenmarken_12")
.VBComponents.Remove .VBComponents("Modul_Sollstunden_23_UD")
.VBComponents.Remove .VBComponents("Modul_Sonnt_Summen_I_12")
.VBComponents.Remove .VBComponents("Modul_Zeit_Zell_Null_Leer_2")
End With
End Sub