Страницы: 1
RSS
Массивы VBA. Как сохранить значения на каждом шаге цикла?
 
Суть. Необходимо создать N листов форматом "01.06. - Воскресение.06" и так далее до конца месяца. Не могу сохранить найденные "Воскресения" месяца в массиве. Хоть убей.
Код
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
 
Собирайте в коллекцию...
Код
dim col as new collection
...
col.add i 'ну или что там нужно
 
Hugo, спасибо, друг. Я себе всю голову выломал, и почти оргазм словил от такого решения. Спасибо)
Страницы: 1
Наверх