W
Whisper
Очень нужно узнать реально ли в экселе при помощи макросов сделать следующую операцию:
Есть журнал. В нем есть графа даты, графа номера, графа имени и название.
Нужно, чтобы выводились (или в новом документе или в новом окне или в новом листе) данные вписанные месяц назад. Т.е. 30 дней.
Есть некоторые наброски, но это не то. Помогите пожалуйста!
Наброски:
sub CreateReport ()
dim WS as Worksheet
dim WS1 as worksheet
set WS = ActiveSheet 'это тот лист, на котором лежит реестр
Worksheets.Add
set WS1 = Activesheet
rownum=2
'D1 и D2 - это даты границ пред.месяца
D1 = DateSerial(2006,6,30)
D2 = DateSerial(2006,8,1)
for I = 2 to WS.Range("A65536").End(xlUp).Row
if WS.Cells(I,1).Value > D1 and WS.Cells(I,1).Value < D2 then 'предположим, что дата в колонке 1
WS1.Cells(rownum,1).Value = WS.Cells(I,1).Value
WS1.Cells(rownum,2).Value = WS.Cells(I,2).Value
WS1.Cells(rownum,3).Value = WS.Cells(I,3).Value
WS1.Cells(rownum,4).Value = WS.Cells(I,4).Value
rownum=rownum+1
end if
next
end sub
Тема еще в том что надо сделать автоматический отсчет даты, а не вписывать диапазон вручную как в примере.
Есть журнал. В нем есть графа даты, графа номера, графа имени и название.
Нужно, чтобы выводились (или в новом документе или в новом окне или в новом листе) данные вписанные месяц назад. Т.е. 30 дней.
Есть некоторые наброски, но это не то. Помогите пожалуйста!
Наброски:
sub CreateReport ()
dim WS as Worksheet
dim WS1 as worksheet
set WS = ActiveSheet 'это тот лист, на котором лежит реестр
Worksheets.Add
set WS1 = Activesheet
rownum=2
'D1 и D2 - это даты границ пред.месяца
D1 = DateSerial(2006,6,30)
D2 = DateSerial(2006,8,1)
for I = 2 to WS.Range("A65536").End(xlUp).Row
if WS.Cells(I,1).Value > D1 and WS.Cells(I,1).Value < D2 then 'предположим, что дата в колонке 1
WS1.Cells(rownum,1).Value = WS.Cells(I,1).Value
WS1.Cells(rownum,2).Value = WS.Cells(I,2).Value
WS1.Cells(rownum,3).Value = WS.Cells(I,3).Value
WS1.Cells(rownum,4).Value = WS.Cells(I,4).Value
rownum=rownum+1
end if
next
end sub
Тема еще в том что надо сделать автоматический отсчет даты, а не вписывать диапазон вручную как в примере.