1. Спонсор публикаций Marketplace codeby. Сервис, который так долго ждали. При расчетах используем биткоин. Первый товар уже в продаже: Консультация на тему ИБ от Ondrik8

    Скрыть объявление
  2. Спонсор публикаций Marketplace codeby. Сервис, который так долго ждали. При расчетах используем биткоин. Второй товар маркетплейса: Надёжная обфускация вашей программы от PingVinich

    Скрыть объявление

Помогите с макросом!

Тема в разделе "Другие", создана пользователем Whisper, 7 авг 2006.

Статус темы:
Закрыта.
  1. Whisper

    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

    Тема еще в том что надо сделать автоматический отсчет даты, а не вписывать диапазон вручную как в примере.
     
  2. Tanya

    Tanya Гость

    sub CreateReport ()
    dim WS as Worksheet
    dim WS1 as worksheet
    set WS = ActiveSheet 'это тот лист, на котором лежит реестр
    Worksheets.Add
    set WS1 = Activesheet
    rownum=2
    'D1 и D2 - это даты границ пред.месяца

    D1 = Date 'текущая дата
    D2 = DateAdd("d",-30,d1)

    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.Range("A" & rownum & ":)" & rownum).value = _
    WS.Range("A" & i & ":huh:" & i).value
    end if
    next i
    Set WS=Nothing
    Set WS1=Nothing
    end sub
     
Загрузка...
Похожие Темы - Помогите макросом
  1. number27
    Ответов:
    0
    Просмотров:
    73
  2. Rina
    Ответов:
    0
    Просмотров:
    85
  3. maksiiimka
    Ответов:
    2
    Просмотров:
    85
  4. Ким
    Ответов:
    23
    Просмотров:
    604
  5. Sr233
    Ответов:
    2
    Просмотров:
    186
Статус темы:
Закрыта.

Поделиться этой страницей