Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Извлечение данных из листа по дате - Мир MS Excel

  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_, DrMini  
Извлечение данных из листа по дате
Nova Дата: Вторник, 07.02.2017, 23:20 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Добрый вечер, уважаемые форумчане!
Битый час сижу над файлом. Реализовать формулой могу, но боюсь, что в связи с увеличением массива это утяжелит работу файла.
Потому прошу поспособствовать в написании макроса, поскольку это дается мне очень тяжело.

Суть задачи: есть массив данных ключевой информацией в котором являются даты. Мне необходимо макросом перенести все данные таблицы на пустой лист по условию. Условие - вытащить все строки по которым дата равна до +30 дней от текущей включительно. То есть к примеру если сегодня 07.02.2017, мне необходима информация за месяц вперед.

Файл прилагаю, заранее благодарна!!!
К сообщению приложен файл: 3156070.xlsx (13.1 Kb)
 
Ответить
СообщениеДобрый вечер, уважаемые форумчане!
Битый час сижу над файлом. Реализовать формулой могу, но боюсь, что в связи с увеличением массива это утяжелит работу файла.
Потому прошу поспособствовать в написании макроса, поскольку это дается мне очень тяжело.

Суть задачи: есть массив данных ключевой информацией в котором являются даты. Мне необходимо макросом перенести все данные таблицы на пустой лист по условию. Условие - вытащить все строки по которым дата равна до +30 дней от текущей включительно. То есть к примеру если сегодня 07.02.2017, мне необходима информация за месяц вперед.

Файл прилагаю, заранее благодарна!!!

Автор - Nova
Дата добавления - 07.02.2017 в 23:20
Nova Дата: Вторник, 07.02.2017, 23:45 | Сообщение № 2
Группа: Пользователи
Ранг: Прохожий
Сообщений: 2
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Подскажите, на правильном ли я пути:
[vba]
Код
Sub bb()
Dim dat1 As Date ' Declare variables.
Dim dat2 As Range

dat1 = cell(c2)
dat2 = Range("c4:c8").Select
For DateDiff("d", dat1, dat2)<=60
Range("a20:D25").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
end for

End Sub
[/vba]


Сообщение отредактировал Pelena - Среда, 08.02.2017, 09:17
 
Ответить
СообщениеПодскажите, на правильном ли я пути:
[vba]
Код
Sub bb()
Dim dat1 As Date ' Declare variables.
Dim dat2 As Range

dat1 = cell(c2)
dat2 = Range("c4:c8").Select
For DateDiff("d", dat1, dat2)<=60
Range("a20:D25").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
end for

End Sub
[/vba]

Автор - Nova
Дата добавления - 07.02.2017 в 23:45
KuklP Дата: Среда, 08.02.2017, 00:32 | Сообщение № 3
Группа: Проверенные
Ранг: Старожил
Сообщений: 2369
Репутация: 486 ±
Замечаний: 0% ±

2003-2010
Нет. Попробуйте, в модуль листа:
[vba]
Код
Public Sub www()
    Dim a, i&, j&, n&
    a = [a3].CurrentRegion.Value: n = 1
    For i = 2 To UBound(a)
        If a(i, 3) >= [C1] And a(i, 3) <= ([C1] + 30) Then
            n = n + 1
            For j = 1 To UBound(a, 2)
                a(n, j) = a(i, j)
            Next
        End If
    Next
    [j1].Resize(n, UBound(a, 2)) = a
End Sub
[/vba]


Ну с НДС и мы чего-то стoим! kuklp60@gmail.com
WM Z206653985942, R334086032478, U238399322728
 
Ответить
СообщениеНет. Попробуйте, в модуль листа:
[vba]
Код
Public Sub www()
    Dim a, i&, j&, n&
    a = [a3].CurrentRegion.Value: n = 1
    For i = 2 To UBound(a)
        If a(i, 3) >= [C1] And a(i, 3) <= ([C1] + 30) Then
            n = n + 1
            For j = 1 To UBound(a, 2)
                a(n, j) = a(i, j)
            Next
        End If
    Next
    [j1].Resize(n, UBound(a, 2)) = a
End Sub
[/vba]

Автор - KuklP
Дата добавления - 08.02.2017 в 00:32
Pelena Дата: Среда, 08.02.2017, 09:17 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 19603
Репутация: 4660 ±
Замечаний: ±

Excel 365 & Mac Excel
Nova, код надо оформлять тегом (кнопка #). Исправила на первый раз


"Черт возьми, Холмс! Но как??!!"
Ю-money 41001765434816
 
Ответить
СообщениеNova, код надо оформлять тегом (кнопка #). Исправила на первый раз

Автор - Pelena
Дата добавления - 08.02.2017 в 09:17
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2026 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!