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

Як скопіювати рядки та вставити на інший аркуш на основі дати в Excel? 

Припустимо, у мене є ряд даних, тепер я хочу скопіювати цілі рядки на основі певної дати, а потім вставити їх на інший аркуш. Чи є у вас якісь ідеї, як впоратися з цією роботою в Excel?

Скопіюйте рядки та вставте їх на інший аркуш, виходячи із сьогоднішньої дати

Скопіюйте рядки та вставте їх на інший аркуш, якщо дата перевищує сьогоднішню


Скопіюйте рядки та вставте їх на інший аркуш, виходячи із сьогоднішньої дати

Якщо вам потрібно скопіювати рядки, якщо сьогодні дата, застосуйте такий код VBA:

1. Утримуйте клавішу ALT + F11 ключі, щоб відкрити Microsoft Visual Basic для додатків вікна.

2. Клацання Insert > Модуліта вставте наступний код у вікно модуля.

Код 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. Клацання Insert > Модуліта вставте наступний код у вікно модуля.

Код 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 для Excel вирішує більшість ваших проблем і збільшує продуктивність на 80%

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

Вкладка Office забезпечує інтерфейс з вкладками для Office і значно спрощує вашу роботу

  • Увімкніть редагування та читання на вкладках у Word, Excel, PowerPoint, Publisher, Access, Visio та Project.
  • Відкривайте та створюйте кілька документів на нових вкладках того самого вікна, а не в нових вікнах.
  • Збільшує вашу продуктивність на 50% та зменшує сотні клацань миші для вас щодня!
дно офісної таблиці
Коментарі (3)
Поки немає оцінок. Оцініть першим!
Цей коментар був мінімізований модератором на сайті
Чи можна зробити це для всієї книги, якщо дата завжди знаходиться в одному стовпці в кожній? Якщо так, то яким буде код VBA або який біт я б змінив?
Цей коментар був мінімізований модератором на сайті
Ви отримали відповідь на це?
Цей коментар був мінімізований модератором на сайті
Те ж саме. Дуже хотілося б отримати відповідь!
ВЖЕ ДУЖЕ ДЯКУЮ EXTENDOFFICe :D
There are no comments posted here yet
Залишайте свої коментарі
Публікація як гість
×
Оцініть цю публікацію:
0   Персонажі
Рекомендовані місця

Слідуй за нами

Copyright © 2009 - WWW.extendoffice.com. | Всі права захищені. На основі ExtendOffice. | Карта сайту
Microsoft та логотип Office є товарними знаками або зареєстрованими товарними знаками Microsoft Corporation у США та / або інших країнах.
Захищений Sectigo SSL