FOR Schleife ....
23.01.2019 07:39:03
Mike
ich benötige mal Hilfe bei der Erstellung einer Schleife.
Im nachfolgenden Code möchte ich in mehreren Dateien Makros durchlaufen lassen. Da ich nicht für jede Maschine einen eigenen Code schreiben möchte, möchte ich das über eine Schleife lösen.
Sicher kann ich auch die Maschinen in einer Spalte auflisten und diese nacheinander auslesen aber ich möchte die Daten nicht nochmal extra auf einem Tabellenblatt hinterlegen sondern sie nur im Code stehen haben.
Ich glaube der Ansatz wie im Code geht schon mal in die richtige Richtung aber ich bin mir nicht sicher wie ich das in die Schleife bekomme. So wie ich es geschrieben habe wird l nicht gefüllt.
Also entweder habe ich nur einen kleinen Fehler gemacht oder die Umsetzung ist völlig daneben.
Wie wäre es richtig?
Sub Test()
Call EventsOff
Dim Jahr As String
Dim KWaktuell As String
Dim Maschine(12) As String
Dim l As Integer
Maschine(0) = "M21"
Maschine(1) = "M22"
Maschine(2) = "M23"
Maschine(3) = "M24"
Maschine(4) = "M25"
Maschine(5) = "M28"
Maschine(6) = "M29"
Maschine(7) = "M30"
Maschine(8) = "M33"
Maschine(9) = "M35"
Maschine(10) = "M36"
Maschine(11) = "M40"
Jahr = ("\" & Year(Now) & "\")
KWaktuell = Format(Format(Date, "ww"), "00")
For l = Maschine(0) To Maschine(12)
Application.Run "'F:\Pfad ....\" & l & "\2019\KW" & KWaktuell & ".xlsm'!Aktualisierung"
Application.Run "'F:\Pfad ....\" & l & "\2019\KW" & KWaktuell & ".xlsm'!DiagrammOEE"
ActiveWorkbook.Close savechanges:=True
Next l
End Sub
Anfangs habe habe ich gedacht ich könnte es eventuell irgendwie so schreiben For l = Maschine (M21, M22, M23,.....)
Vielleicht lässt sich das ja auch so umsetzen aber dazu habe ich noch weniger im Netz finden können.Wäre schön wenn mir jemand dazu Hilfestellung geben würde oder eventuell alternative Vorschläge hat. Gerne auch ein Link zu einem Beispiel wo ich mich dran langhangeln kann.
Gruß
Mike