Thema Datum  Von Nutzer Rating
Antwort
Rot Klassenmodul wird kopiert aber nicht gespeichert
28.08.2018 09:51:54 Daniela
NotSolved
28.08.2018 10:09:19 Daniela
NotSolved

Ansicht des Beitrags:
Von:
Daniela
Datum:
28.08.2018 09:51:54
Views:
1068
Rating: Antwort:
  Ja
Thema:
Klassenmodul wird kopiert aber nicht gespeichert

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:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
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 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
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

 


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Klassenmodul wird kopiert aber nicht gespeichert
28.08.2018 09:51:54 Daniela
NotSolved
28.08.2018 10:09:19 Daniela
NotSolved