19.12.2018, 19:40
Hallo VBA-Freunde,
ich brauche wieder einmal eure Hilfe.
Ich habe eine Musterdatei, in dem z.B. 32 Mitarbeiter stehen.
Zu Jahresbeginn soll aus der Musterdatei (z.B. Muster_Arbeitszeiterfassung.xlsm) per Schleife die Musterdatei unter Heinz_Ulm_Arbeitszeiterfassung.XLSM und so weiter gespeichert werden. Die einmalige Speicherung ist kein Problem, das habe ich und es geht:
Wie kriege ich jetzt eine Schleife hin. Wenn ich die Ursprungsdatei schließe ist mein Code beendet. Meine Versuche in dem Stil:
brachten mich auch nicht weiter.
ich brauche wieder einmal eure Hilfe.
Ich habe eine Musterdatei, in dem z.B. 32 Mitarbeiter stehen.
Zu Jahresbeginn soll aus der Musterdatei (z.B. Muster_Arbeitszeiterfassung.xlsm) per Schleife die Musterdatei unter Heinz_Ulm_Arbeitszeiterfassung.XLSM und so weiter gespeichert werden. Die einmalige Speicherung ist kein Problem, das habe ich und es geht:
Code:
Sub NeueMA()
'
' Neueinrichtung Makro
'
Speichername = Worksheets("Datenblatt").Range("K12").Value
Datendatei = Worksheets("Datenblatt").Range("K11").Value
AktiveDatei = Worksheets("Datenblatt").Range("K10").Value
Dateiname = Worksheets("Datenblatt").Range("K8").Value & ArbDatei
Ursprung = Worksheets("Datenblatt").Range("K13").Value & ArbDatei
ArbDatei = Worksheets("Datenblatt").Range("K14").Value & ArbDatei
'ActiveWorkbook.Save
If Range("C5").Value = "" Then
MsgBox ("Kein Mitarbeiter ausgew?hlt")
Exit Sub
End If
ActiveWorkbook.SaveAs Filename:=Speichername
' Windows("DatenMuster.xlsx").Activate
' ActiveWorkbook.SaveAs Filename:=Datendatei
' Windows(ArbDatei).Activate
Worksheets("Datenblatt").Select
' Range("I18").Value = "Hallo"
ActiveSheet.Shapes("CommandButton1").Delete
ActiveWorkbook.Save
Workbooks.Open Filename:=Ursprung
Windows(ArbDatei).Activate
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub
Wie kriege ich jetzt eine Schleife hin. Wenn ich die Ursprungsdatei schließe ist mein Code beendet. Meine Versuche in dem Stil:
Code:
Sub NeueMA2()
'
' Neueinrichtung Makro
'
Speichername = Worksheets("Datenblatt").Range("K12").Value
Datendatei = Worksheets("Datenblatt").Range("K11").Value
AktiveDatei = Worksheets("Datenblatt").Range("K10").Value
Dateiname = Worksheets("Datenblatt").Range("K8").Value & ArbDatei
Ursprung = Worksheets("Datenblatt").Range("K13").Value & ArbDatei
ArbDatei = Worksheets("Datenblatt").Range("K14").Value & ArbDatei
'ActiveWorkbook.Save
If Range("C5").Value = "" Then
MsgBox ("Kein Mitarbeiter ausgew?hlt")
Exit Sub
End If
If Worksheets("Datenblatt").Range("L7").Value = 1 Then
ActiveWorkbook.SaveAs Filename:=Speichername
Worksheets("Datenblatt").Select
ActiveSheet.Shapes("NeueMA").Delete
ActiveSheet.Protect ("cwe1974")
ActiveWorkbook.Save
Workbooks.Open Filename:=Ursprung
Windows(ArbDatei).Activate
ActiveWorkbook.Save
ActiveWorkbook.Close
Exit Sub
End If
If Worksheets("Datenblatt").Range("L7").Value = 2 Then
For I = 9 To Worksheets("Personaldaten").Range("A1").Value
MANR = Worksheets("Personaldaten").Range("B" & I).Value
Worksheets("Datenblatt").Range("C5").Value = MANR
ActiveWorkbook.SaveAs Filename:=Speichername
Worksheets("Datenblatt").Select
ActiveSheet.Shapes("NeueMA").Delete
ActiveSheet.Protect ("cwe1974")
ActiveWorkbook.Save
' Workbooks.Open Filename:=Ursprung
' Windows(ArbDatei).Activate
' ActiveWorkbook.Save
' ActiveWorkbook.Close
Next I
End If
End Sub
brachten mich auch nicht weiter.
Es ist nicht genug, zu wissen. Man muss es auch anwenden.
Es ist nicht genug, zu wollen. Man muss es auch tun.
Es ist nicht genug, zu wollen. Man muss es auch tun.