Макрос для копирования определенных ячеек между листами Excel - PullRequest
0 голосов
/ 27 апреля 2018

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

На одном листе у нас есть данные в ячейках от A1 до D1, моя цель - вставить их во второй лист, но в другие ячейки (A2, A4, A6, A8 в моем случае)

А также, когда кто-то копирует, например, более четырех ячеек, он также вставляет их сразу (B2, B4, B6, B8 и т. Д.)

Мне удалось что-то подобное, но это не работает

Sub sbCopyRangeToAnotherSheet()
'Copy the data
Sheets("Arkusz2").Range("A2:D2").Copy
Sheets("Arkusz1").Activate
'Select the target range
Range("A2", "A5", "A8", "A11").Select
'Paste in the target destination
ActiveSheet.Paste
Application.CutCopyMode = False
End Sub

1 Ответ

0 голосов
/ 27 апреля 2018

Правильный синтаксис:

Sub sbCopyRangeToAnotherSheet()
    Sheets("Arkusz2").Range("A2:D2").Copy
    Sheets("Arkusz1").Range("A2,A5,A8,A11").PasteSpecial
    Application.CutCopyMode = False
End Sub

или вы можете сделать это в одну строку:

Sub sbCopyRangeToAnotherSheet()
    Sheets("Arkusz2").Range("A2:D2").Copy Sheets("Arkusz1").Range("A2,A5,A8,A11")
End Sub

И я рекомендую прочитать: Как избежать использования Select в Excel VBA .

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