Мне нужно скопировать 6 ячеек рядом с активной ячейкой - PullRequest
0 голосов
/ 28 ноября 2018

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

If Box = "8" Then Workbooks("Narc Log.xlsm").Sheets("Fentanyl").Range("B5:F5").Copy _
    Destination:=Workbooks("Box 8.xlsm").Sheets("Fentanyl").Range("B4")

Копирует определенный диапазон ячеек.Я хочу изменить его, чтобы скопировать 6 ячеек слева от активной ячейки и вставить следующую доступную строку в другую рабочую книгу "Box8"

Спасибо за ваше терпение со мной.Я уверен, что есть способ сделать это намного проще, чем я, но я пробираюсь с помощью Google и форумов, подобных вашему.

1 Ответ

0 голосов
/ 28 ноября 2018

сначала вы должны найти положение вашей активной ячейки

  Dim c, r As Integer
    r = ActiveCell.Row
    c = ActiveCell.Column
Set sht = ActiveSheet

, затем вы можете использовать функцию диапазона, чтобы получить их

with sht
sht.range(.cells(c-7,r) , .cells(c-1,r)).copy
end with

и остаток кода ниже.

PS Я не люблю использовать .copy, поскольку он всегда сталкивается с ошибкой.Я бы предпочел что-то вроде

Workbooks("Box 8.xlsm").Sheets("Fentanyl").Range("B4:B10").value = sht.range(.cells(c-7,r) , .cells(c-1,r)).value
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...