Как скопировать данные с одного рабочего листа на другой (используя косвенную ссылку на последний рабочий лист) - PullRequest
0 голосов
/ 15 мая 2019

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

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

Sub Gross_Wrap_Click()

Sheets("AUTOM").Select
Range("C1:C5").Select
Selection.Copy

Sheets("Daily").Select
Range([indirect("'AUTOM!O7'")]).Select
Selection.Paste

End Sub

Я ожидаю, что конечным продуктом будет содержимое ячеек C1: C5 в листе AUTOM, скопированное и вставленное в требуемые ячейки в листе DAILY (требуемые ячейки получены из функции и включены в VBA с косвенным путем) .

Тем не менее, я просто получаю кучу разных сообщений об ошибках

1 Ответ

0 голосов
/ 15 мая 2019

Если я не испортил это чтение вашего кода, это должно сделать это:

Option Explicit
Sub Test()

    Dim rng As Range 'Range object, means a cell or a range of cells
    With ThisWorkbook 'here you reference the workbook, so you don't need to write Thisworkbook everytime, just "."
        Set rng = .Sheets("Daily").Find(.Sheets("AUTOM").Range("O7")) 'we set the object rng to the cell in sheets Daily which has the Cell O7 from AUTOM sheet value.
        .Sheets("AUTOM").Range("C1:C5").Copy 'copy the range from AUTOM
        rng.PasteSpecial xlPasteValues  'and paste it's values to the range object we declared and defined above
    End With

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...