Как использовать ссылку на дату на 1 листе, чтобы использовать в качестве места для вставки данных на нескольких других листах, но копировать на тот же лист, чтобы вставить - PullRequest
0 голосов
/ 06 февраля 2019

У меня есть рабочая тетрадь, которая нуждается в ежедневном обновлении 72 различных листов.Я хочу использовать текущую дату, расположенную в «SheetList» (I1), в качестве параметра поиска, чтобы определить, куда вставляются данные.Данные располагаются в одном и том же диапазоне на каждом листе (G2: G365). Затем на каждом листе есть столбец, в котором указан диапазон дат, который я использую (L2: L145).Когда дата совпадает с (L2: 145), мне нужно переставить все скопированные ячейки в диапазоне (G2: G365), начиная с колонки M рядом с правильной датой.Данные копируются и вставляются на один лист, но мне нужно сделать это на всех 72 листах.У меня уже есть макрос для копирования данных и помещения его в диапазон (G2: G365), но я застрял в поиске того, как найти дату в столбце L, затем сместить ее в столбце M и транспонировать ячейки.Не все скопированные ячейки имеют данные, но это не должно вызывать проблем, поскольку я хочу скопировать и вставить весь диапазон.

Итак, в двух словах, дата, указанная в ячейке I1 в «SheetList»

скопировать данные, расположенные на каждом листе (G2: G365)

дата совпадения из ячейки «SheetList» (I1), чтобы исправить строку (L2: 145)

Вставить значения (числа, а не текст) встолбцы (M: NL) рядом с правильной датой

Я бы предпочел использовать коды листов и имена листов.

Я нашел много разных сценариев, но все они копируют данные на разные листы,не то же самое, и, кажется, ничего не выглядит, сделайте функцию типа соответствия индекса, чтобы определить, куда поместить данные.Я новичок в VBA и прочитал массу противоречивых способов получения информации, но ничто не включает поиск того, где ее разместить.

Sub AAA_AllDailyUpdates()
'
' AAA_AllDailyUpdates Macro
'
Sheets("VsRPI1-25-1st").Select
            Range("F2:F365").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("G2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

    Sheets("VsRPI1-25-2nd").Select
           Range("F2:F365").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("G2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

    Sheets("VsRPI1-25HomeFinal").Select
            Range("F2:F365").Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("G2").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False

End Sub

    Sub Transpose()
    Sheets("VsRPI1-25Final").Select
Range("G2:G365").Select
Selection.Copy
    Range("M94").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
    False, Transpose:=True

Sheets("VsRPI1-25-1st").Select
Range("G2:G365").Select
Application.CutCopyMode = False
Selection.Copy
    Range("M94").Select
Selection.PasteSpecial Paste:=xlPasteAll, Operation:=xlNone, SkipBlanks:= _
    False, Transpose:=True

End Sub

В макросе Transpose это строка, которую, я знаю, нужно искать в DateSist (I1) текущей даты, но у меня возникают проблемы с выяснением, как сделать эталонную ячейку, а затем сместить ее в столбец "M"

    Range("M94").Select
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...