Hallo,
Ich habe mehrere Bereiche in einem Array gespeichert, dass sieht bei mir so aus:
Dim bcopy(11) As String
bcopy(0) = "A5:AF25"
If IstSchaltjahr(jahr) = True Then
bcopy(1) = "B5:AC25"
Else
bcopy(1) = "B5:AD25"
End If
bcopy(2) = "B5:AF25"
bcopy(3) = "B5:AE25"
bcopy(4) = "B5:AF25"
bcopy(5) = "B5:AE25"
bcopy(6) = "B5:AF25"
bcopy(7) = "B5:AE25"
bcopy(8) = "B5:AF25"
bcopy(9) = "B5:AE25"
bcopy(10) = "B5:AF25"
bcopy(11) = "B5:AE25"
Das sind verschiedene Monate, die jeweils auf einem Tabellenblatt in einer anderen Datei sind. Ich kopiere sie her und das funktioniert alles einwandfrei.
Links (die erste Spalte) neben der Ausgabe der Tage der Monate möchte ich das Datum anzeigen lassen.
Ich hatte das zuvor ohne Date, also alle Monate gingen bei mir bis zum 31. Die überflüssigen Zeilen waren bei mir einfach leer. Nun habe ich das umgeschrieben und das Datum zeigt es jetzt auch richtig an. Aber ich habe eine Schleife für das Datum, damit das immer richtig neben der Zeile steht. Momentan habe ich es so:
For tag = 0 To 30 'Anzahl der Tage im Monat (31), wird später angepasst
Workbooks("Projekt.xlsm").Worksheets(1).Cells(zeile, 1) = DateAdd("d", 1, DateSerial(jahr, i + 1, tag)) 'Ausgabe des Datum, i+1 da index mit 0 anfängt
zeile = zeile + 1 'Zelle rutscht eins runter
Next tag
Jetzt kann ich aber 30 nicht mehr stehen lassen, da ja jeder Monat unterschiedliche Anzahl an Tagen hat ^^
Statt 30 wollte ich die Anzahl der Spalten (die Anzahl der Spalten von bcopy(i) entspricht der Anzahl der Tage, in meiner neuen Datei sind die Daten transponiert worden) angeben. Ich habe es auf zwei Arten versucht:
spalten = Range(bcopy(i).Columns.Count)
spalten = Workbooks("Monatliche Mahnterminplanung 2018.xlsx").Worksheets(monat(i)).Cells.SpecialCells(xlCellTypeLastCell).Columns.Count
auch ohne Count habe ich es versucht. Aber der Wert von spalten beim debuggen bleibt 1 und bei der Ausgabe kommt völliger Mist raus.
Kann mir da jmd bitte weiter helfen?
Dankeschön!
|