У меня есть рабочая тетрадь, которая нуждается в ежедневном обновлении 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