Совет. Другие языки - Google-Translated. Вы можете посетить English версия этой ссылки.
Войти
x
or
x
x
Регистрация
x

or

Как скопировать строки и вставить на другой лист в зависимости от даты в 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) = "Дата" И (xVal <> "") И (xVal> = Дата И (xVal <Дата + 5)) Тогда код сценария.

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

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

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


  • Супер Формула Бар (легко редактировать несколько строк текста и формул); Макет чтения (легко читать и редактировать большое количество ячеек); Вставить в отфильтрованный диапазон...
  • Объединить ячейки / строки / столбцы и хранение данных; Содержание сплит-клеток; Объедините дублирующиеся строки и сумму / среднее... предотвратить повторяющиеся клетки; Сравнить диапазоны...
  • Выберите Дубликат или Уникальный Ряды; Выберите пустые строки (все ячейки пусты); Супер найти и нечеткая находка во многих рабочих тетрадях; Случайный выбор ...
  • Точная копия Несколько ячеек без изменения формулы ссылки; Автоматическое создание ссылок на несколько листов; Вставить пули, Флажки и многое другое ...
  • Любимые и быстро вставляемые формулы, Диапазоны, графики и рисунки; Шифрование ячеек с паролем; Создать список рассылки и отправлять электронные письма ...
  • Извлечение текстаДобавить текст, Удалить по позиции, Удалить пространство; Создание и печать промежуточных итогов подкачки; Преобразование содержимого ячеек и комментариев...
  • Суперфильтр (сохранить и применить схемы фильтров к другим листам); Расширенный поиск по месяцам / неделям / дням, частоте и более; Специальный фильтр жирным шрифтом, курсивом ...
  • Объединить рабочие тетради и рабочие листы; Объединение таблиц на основе ключевых столбцов; Разделить данные на несколько листов; Пакетное преобразование xls, xlsx и PDF...
  • Работает с Office 2007-2019 и 365 и поддерживает все языки. Это легко развернуть в вашей компании. Полнофункциональная 60-дневная бесплатная пробная версия.
вкладка kte 201905
  • Включить редактирование и чтение с вкладками в Word, Excel, PowerPoint, Издатель, Доступ, Visio и Проект.
  • Открывайте и создавайте несколько документов в новых вкладках одного и того же окна, а не в новых окнах.
  • Увеличивает вашу производительность на 50% и уменьшает сотни щелчков мышью для вас каждый день!
нижняя часть офиса
Say something here...
symbols left.
You are guest ( Sign Up? )
or post as a guest, but your post won't be published automatically.
Loading comment... The comment will be refreshed after 00:00.
  • To post as a guest, your comment is unpublished.
    Sarah B · 9 months ago
    Is it possible to do this for an entire workbook if the date is always in the same column on each? If so, what would the VBA code be, or which bit would I change?