2014-03-23 4 views
0

Есть ли способ в vba заполнить диапазон, пока не будет достигнуто определенное значение?заполнить диапазон до достижения определенного значения

Например, я хочу заполнить столбец А датами, начинающимися со значения в ячейке B1 (допустим, 1/1/2014), до тех пор, пока он не достигнет значения в ячейке C1 (скажем, 1/15/2014) stepping one день.

Возможно ли это?

Thank u.

ответ

1

Вот мое предложение, просто положить даты в B1 и C1 и запустить макрос «Даты».

Sub Dates() 

Dim startdate As Date 
Dim enddate As Date 
Dim row As Double 

startdate = Range("B1").Value 
enddate = Range("C1").Value 
row = 0 

Range("A1").Select 
Do Until DateAdd("d", 1, startdate) = enddate + 1 
    ActiveCell.Offset(row, 0).Value = DateAdd("d", 1, startdate) 
    startdate = startdate + 1 
    row = row + 1 
Loop 

End Sub 
+0

спасибо и так много .. это действительно помогает – user3286479

0

Как насчет:

Sub DateFiller() 
    For i = 2 To Rows.Count 
     Cells(i, 1).Value = Cells(i - 1, 1).Value + 1 
     If Cells(i, 1).Value = Cells(1, 2).Value Then Exit Sub 
    Next i 
End Sub 

EDIT # 1:

эта версия соответствует запрос:

Sub DateFiller() 
    Cells(1, 1).Value = Cells(1, 2).Value 
    For i = 2 To Rows.Count 
     Cells(i, 1).Value = Cells(i - 1, 1).Value + 1 
     If Cells(i, 1).Value = Cells(1, 3).Value Then Exit Sub 
    Next i 
End Sub 
+0

thank u so much .. он работает после модификации – user3286479

Смежные вопросы