Я пытаюсь сделать макрос, который кажется довольно простым, но оказалось, что это сложнее, чем я думал. Я начал делать его, используя метод «укажи и щелкни», но он не был таким динамичным, как я думал. В основном я использую vlookup для поиска имен в ячейке A2 с другого листа, а затем копирую числа в столбце D на текущий лист. Если посмотреть на код, то для этой части он выглядит примерно так:
Range("D2").Select
ActiveCell.FormulaR1C1 = _
"=VLOOKUP(RC[-3],'Downstairs'!R[-1]C[-3]:R[200]C[14],4,0)"
Range("D2").Select
Selection.AutoFill Destination:=Range("D2:D" & lastrow&)
После того, как я найду первое число, я пытаюсь автоматически заполнить остальные. Это работает, когда вы запускаете его, но я думаю, что это просто потому, что имена в порядке. Однако, если имена не в порядке, он не найдет правильное число, отчасти потому, что все числа внутри R[] и C[] продолжают меняться по мере продвижения вниз по строкам. Я не думаю, что это сработает, если я добавлю в список больше имен, что мне нужно для этого. Я изменил число внутри R[] с 93 на 200, потому что я действительно не знаю, как включить объект lastrow, который я сделал раньше, и я не знаю другого способа сделать это динамическим. Есть лучший способ сделать это?