|  
                                             
	Liebes VBA Forum, 
	ich habe folgendes Problem: 
	Ich möchte ein Klassenmodul aus einer Mappe (ThisWorkbook.DieseArbeitsmappe) 
	in eine andere Mappe (ActiveWorkbook.DieseArbeitsmappe) kopieren. Das funktioniert mit folgendem Code auch 
	ganz gut. Zumindest kann ich sehen, das der Code kopiert wird und sich auch in der Zielmappe befindet. 
	Aber wenn ich die Zielmappe dann irgendwann wieder öffne, ist der Code nicht mehr vorhanden. 
	Allerdings greift ein Teil des Codes, obwohl ich ihn wie gesagt nicht mehr sehen kann. 
	Welcher Teil das ist, werde ich gleich noch erläutern. 
	Folgender Code: 
Sub Klassenmodul_kopieren()
    Dim oSourceBook As Object
    Dim sPfad As String
    Dim sDatei As String
    Dim int_Datensatz As Integer
    Dim str_Mitarbeiter As String
    Dim str_Pfad As String
    Dim str_Datei As String
     
    int_Datensatz = 7
      
    Do While x < 135
       
        str_Mitarbeiter = tbl_Honig.Cells(int_Datensatz, 2).Value
        str_Pfad = "Z:\Honig\Anwesenheit\"
        str_Datei = str_Pfad & str_Mitarbeiter & "\" & "Anwesend_" & str_Mitarbeiter & "_2018.xlsm"
                      
            If str_Datei <> "" Then
                Set oSourceBook = Workbooks.Open(str_Datei, True)
                Dim StrCode As String
                
                    With ThisWorkbook.VBProject.VBComponents _
                        ("DieseArbeitsmappe").CodeModule
                        StrCode = .Lines(1, .CountOfLines)
                    End With
                    
                ActiveWorkbook.VBProject.VBComponents("DieseArbeitsmappe"). _
                CodeModule.AddFromString StrCode
                ActiveWorkbook.Protect ("181801818")
                ActiveWorkbook.SaveAs str_Datei, FileFormat:=xlOpenXMLWorkbookMacroEnabled
                ActiveWorkbook.Close
            End If
            
    int_Datensatz = int_Datensatz + 1
         
    Loop
         
    
     Application.ScreenUpdating = True
     Set oSourceBook = Nothing
      
End Sub
	soll diesen Code  
Private Sub Workbook_Open()
Dim lng_Zugriffzeile As Long
lng_Zugriffzeile = ThisWorkbook.Sheets("Zugriff").Cells(Rows.Count, 1).End(xlUp).Row + 1
ThisWorkbook.Worksheets("Zugriff").Range("A" & lng_Zugriffzeile) = Environ("username")
ThisWorkbook.Worksheets("Zugriff").Range("B" & lng_Zugriffzeile) = Application.UserName
ThisWorkbook.Worksheets("Zugriff").Range("C" & lng_Zugriffzeile) = Environ("computername")
ThisWorkbook.Worksheets("Zugriff").Range("D" & lng_Zugriffzeile) = Now()
ActiveWorkbook.Protect Structure:=True, Windows:=False 'Tabellen vor Löschen schützen ''Dies funktioniert''
End Sub
	kopieren. 
	Das Schützen der Arbeitsmappe funktioniert , aber wie gesagt, sehen kann ich diese Zeile auch nicht. Komisch... 
	Kann mir bitte jemand sagen, was ich hier falsch mache? 
	Ich bin für jede Hilfe dankbar. 
	'Gruß Daniela 
	  
     |