Answer the question
In order to leave comments, you need to log in
Arrays in VBA. How to save values at each step of the loop?
Essence. It is necessary to create N sheets with the format "01.06. - Sunday.06" and so on until the end of the month. I can't save found "Sundays" of the month in an array. At least kill.
Private Sub cmd_1_Click()
Dim NeuPapier As Worksheet 'создание доп листа по неделям
Dim NahmePapier As String ' имя этого листа
'Dim PreFixDate As String 'нужен ли ноль перед числом
Dim arrSonntag() As String
Heute = DatePart("d", Now) 'возвращает сегодняшнюю дату
Monate = MonthName(Month(Now - Heute)) 'предыдущий месяц для копирования
DerTag = Day(DateAdd("d", -1, DateAdd("m", 1, Now - Heute + 1))) 'количество в месяце дней настоящего
Sheets(Monate).Copy after:=Sheets(Monate)
Nahme = Monate & " " & "(2)" 'задаем имя листу
Sheets(Nahme).Name = MonthName(Month(Now))
If DerTag = 30 Then
Sheets(MonthName(Month(Now))).Range("B6:K35").ClearContents
Sheets(MonthName(Month(Now))).Range("N19:N23").ClearContents
Sheets(MonthName(Month(Now))).Rows("36:36").Delete
For i = 0 To DerTag 'цикл для ввода даты
Sheets(MonthName(Month(Now))).Cells(5 + i, 2) = Now - Heute + i
Next i
NewMonate = Day(Sheets(MonthName(Month(Now))).Cells(5 + 1, 2)) & "." & Month(Now) 'начало месяца
EndMonate = Day(Sheets(MonthName(Month(Now))).Cells(5 + 30, 2)) & "." & Month(Now) 'конец месяца
'1. нужно создать Н-ое кол-во листов формата "01.ММ - 1ВВ.ММ", "1ВВ+1.ММ - 2ВВ.ММ", "2ВВ+1.ММ - 3ВВ.ММ", "3ВВ+1.ММ - 4ВВ.ММ", "4ВВ.ММ - КК.ММ"
'2. для этого нужно создать массив со всеми воскр. внутри
'3.
For i = 1 To DerTag
If WeekdayName(Weekday(Sheets(MonthName(Month(Now))).Cells(5 + i, 2), vbMonday)) = "воскресенье" Then 'перебирает все ячейки в поисках воскресения
End If
Next i
Answer the question
In order to leave comments, you need to log in
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question