Note: The other languages of the website are Google-translated. Back to English

Как скопировать строки и вставить на другой лист на основе даты в Excel? 

Предположим, у меня есть диапазон данных, теперь я хочу скопировать целые строки на основе определенной даты, а затем вставить их на другой лист. Есть ли у вас какие-нибудь хорошие идеи по поводу этой работы в Excel?

Скопируйте строки и вставьте на другой лист на основе сегодняшней даты

Скопируйте строки и вставьте на другой лист, если дата больше сегодняшней


Скопируйте строки и вставьте на другой лист на основе сегодняшней даты

Если вам нужно скопировать строки, если дата сегодняшняя, примените следующий код VBA:

1. Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модулии вставьте следующий код в окно модуля.

Код VBA: скопируйте и вставьте строки на основе сегодняшней даты:

Sub CopyRow()
'Updateby Extendoffice
    Dim xRgS As Range, xRgD As Range, xCell As Range
    Dim I As Long, xCol As Long, J As Long
    Dim xVal As Variant
    On Error Resume Next
    Set xRgS = Application.InputBox("Please select the date column:", "KuTools For Excel", Selection.Address, , , , , 8)
    If xRgS Is Nothing Then Exit Sub
    Set xRgD = Application.InputBox("Please select a destination cell:", "KuTools For Excel", , , , , , 8)
    If xRgD Is Nothing Then Exit Sub
    xCol = xRgS.Rows.Count
    Set xRgS = xRgS(1)
    Application.CutCopyMode = False
    J = 0
    For I = 1 To xCol
        Set xCell = xRgS.Offset(I - 1, 0)
        xVal = xCell.Value
        If TypeName(xVal) = "Date" And (xVal <> "") And (xVal = Date) Then
            xCell.EntireRow.Copy xRgD.Offset(J, 0)
            J = J + 1
        End If
    Next
    Application.CutCopyMode = True
End Sub

3. После вставки вышеуказанного кода нажмите F5 нажмите клавишу для запуска этого кода, и появится диалоговое окно с напоминанием о выборе столбца даты, на основе которого вы хотите скопировать строки, см. снимок экрана:

4. Затем нажмите OK В другом окне подсказки выберите ячейку на другом листе, в которую вы хотите вывести результат, см. снимок экрана:

5, Затем нажмите OK кнопка, теперь строки с сегодняшней датой сразу вставляются в новый лист, см. снимок экрана:


Скопируйте строки и вставьте на другой лист, если дата больше сегодняшней

Чтобы скопировать и вставить строки, дата которых больше или равна сегодняшнему дню, например, если дата равна или больше 5 дней с сегодняшнего дня, затем скопируйте и вставьте строки на другой лист.

Следующий код VBA может оказать вам услугу:

1. Удерживайте ALT + F11 , чтобы открыть Microsoft Visual Basic для приложений окно.

2. Нажмите Вставить > Модулии вставьте следующий код в окно модуля.

Код VBA: скопируйте и вставьте строки, если дата больше сегодняшней:

Sub CopyRow()
'Updateby Extentoffice
    Dim xRgS As Range, xRgD As Range, xCell As Range
    Dim I As Long, xCol As Long, J As Long
    Dim xVal As Variant
    On Error Resume Next
    Set xRgS = Application.InputBox("Please select the date column:", "KuTools For Excel", Selection.Address, , , , , 8)
    If xRgS Is Nothing Then Exit Sub
    Set xRgD = Application.InputBox("Please select a destination cell:", "KuTools For Excel", , , , , , 8)
    If xRgD Is Nothing Then Exit Sub
    xCol = xRgS.Rows.Count
    Set xRgS = xRgS(1)
    Application.CutCopyMode = False
    J = 0
    For I = 1 To xCol
        Set xCell = xRgS.Offset(I - 1, 0)
        xVal = xCell.Value
        If TypeName(xVal) = "Date" And (xVal <> "") And (xVal >= Date And (xVal < Date + 5)) Then
            xCell.EntireRow.Copy xRgD.Offset(J, 0)
            J = J + 1
        End If
    Next
    Application.CutCopyMode = True
End Sub

Внимание: В приведенном выше коде вы можете изменить критерии, например, меньше, чем сегодня, или количество дней, которое вам нужно, в Если TypeName (xVal) = "Date" And (xVal <> "") And (xVal> = Date And (xVal <Date + 5)), то код скрипта.

3, Затем нажмите F5 ключ для запуска этого кода, в окне подсказки выберите столбец данных, который вы хотите использовать, см. снимок экрана:

4. Затем нажмите OK В другом окне подсказки выберите ячейку на другом листе, в которую вы хотите вывести результат, см. снимок экрана:

5, Нажмите OK Теперь строки, дата которых равна или превышает 5 дней с сегодняшнего дня, были скопированы и вставлены в новый лист, как показано на следующем снимке экрана:


Лучшие инструменты для работы в офисе

Kutools for Excel решает большинство ваших проблем и увеличивает вашу производительность на 80%

  • Снова использовать: Быстро вставить сложные формулы, диаграммы и все, что вы использовали раньше; Зашифровать ячейки с паролем; Создать список рассылки и отправлять электронные письма ...
  • Бар Супер Формулы (легко редактировать несколько строк текста и формул); Макет для чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы без потери данных; Разделить содержимое ячеек; Объединить повторяющиеся строки / столбцы... Предотвращение дублирования ячеек; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выбрать пустые строки (все ячейки пустые); Супер находка и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения ссылки на формулу; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Извлечь текст, Добавить текст, Удалить по позиции, Удалить пробел; Создание и печать промежуточных итогов по страницам; Преобразование содержимого ячеек в комментарии...
  • Суперфильтр (сохранять и применять схемы фильтров к другим листам); Расширенная сортировка по месяцам / неделям / дням, периодичности и др .; Специальный фильтр жирным, курсивом ...
  • Комбинируйте книги и рабочие листы; Объединить таблицы на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Более 300 мощных функций. Поддерживает Office/Excel 2007-2021 и 365. Поддерживает все языки. Простое развертывание на вашем предприятии или в организации. Полнофункциональная 30-дневная бесплатная пробная версия. 60-дневная гарантия возврата денег.
вкладка kte 201905

Вкладка Office: интерфейс с вкладками в Office и упрощение работы

  • Включение редактирования и чтения с вкладками в Word, Excel, PowerPoint, Издатель, доступ, Visio и проект.
  • Открывайте и создавайте несколько документов на новых вкладках одного окна, а не в новых окнах.
  • Повышает вашу продуктивность на 50% и сокращает количество щелчков мышью на сотни каждый день!
офисный дно
Сортировать комментарии по
Комментарии (3)
Оценок пока нет. Оцените первым!
Этот комментарий был сведен к минимуму модератором на сайте
Можно ли сделать это для всей книги, если дата всегда находится в одном и том же столбце на каждой? Если да, то каким будет код VBA или какой бит я должен изменить?
Этот комментарий был сведен к минимуму модератором на сайте
Вы получили ответ по этому поводу?
Этот комментарий был сведен к минимуму модератором на сайте
То же самое. Очень хотелось бы получить ответ!
БОЛЬШОЕ СПАСИБО УЖЕ EXTENDOFFICe :D
Здесь еще нет комментариев
Оставляйте свои комментарии
Публикация как гость
×
Оценить этот пост:
0   Характеристики
Предлагаемые места

Подписывайтесь на Нас

Copyright © 2009 - www.extendoffice.ком. | Все права защищены. Питаться от ExtendOffice, | Карта сайта
Microsoft и логотип Office являются товарными знаками или зарегистрированными товарными знаками Microsoft Corporation в США и / или других странах.
Защищено Sectigo SSL