powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Эксель и макросы
6 сообщений из 6, страница 1 из 1
Эксель и макросы
    #33917622
Whisper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Очень нужно доделать макрос в экселе.
Задача:
Есть журнал. В нем есть графа даты, графа номера, графа имени и название.
Нужно, чтобы выводились (или в новом документе или в новом окне или в новом листе) данные вписанные месяц назад. Т.е. 30 дней.

Вот что получилось:
sub CreateReport ()
dim WS as Worksheet
dim WS1 as worksheet
set WS = ActiveSheet
Worksheets.Add
set WS1 = Activesheet
rownum=2

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
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

Все бы хорошо НО... Но мне надо сделать так чтоб дату вписывать не вручную, а она автоматически отсчитывалась от сегодняшней даты. Т.е. датыкогда будут работать с журналом. Ну и еще одна мелоч - в создаваемом листе первая колонка с датами имеет текстовый формат, как ему сразу присвоить формат даты?

Еще раз повторю что макрос очень нужен. Заранее огромное спасибо.
...
Рейтинг: 0 / 0
Эксель и макросы
    #33918025
Melkiades
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
По первому вопросу - используйте функцию Date.
...
Рейтинг: 0 / 0
Эксель и макросы
    #33918042
falet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Есть в Excel такая полезная штука, как запись макроса - попробуй
...
Рейтинг: 0 / 0
Эксель и макросы
    #33920002
Whisper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
MelkiadesПо первому вопросу - используйте функцию Date.

Как? Напиши как ели умеешь пожалуйста!
...
Рейтинг: 0 / 0
Эксель и макросы
    #33920004
Whisper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
faletЕсть в Excel такая полезная штука, как запись макроса - попробуй

В смысле включить запись и отсортировать, скопировать, создать страницу и вставить? Так чтоли? Так не получается ибо нужно же каждый раз новые даты копировать, а не одни и те же строки.
...
Рейтинг: 0 / 0
Эксель и макросы
    #33920525
falet
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Макрос нужен для того, чтобы записать болванку, а потом доработать напильником под свои нужды.

По поводу даты:
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
вместо
D1 = DateSerial( 2006 , 6 , 30 )
D2 = DateSerial( 2006 , 8 , 1 )
пишешь
D1 = Date 
D2 = DateAdd('d',N,D1)
где N количество дней, которые надо прибавить  30  или  31 ( 28 )
чтобы отформатировать ячейку в формат даты
Код: plaintext
Cells( 1 ,  1 ).NumberFormat = "dd/mm/yy;@"
диаппазон
Код: plaintext
Range("A1:B2").NumberFormat = "dd/mm/yy;@"
столбец
Код: plaintext
Columns("B:B").NumberFormat = "dd/mm/yy;@"
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Эксель и макросы
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]