Excel VBA многократно скопировать и вставить ниже последней ячейки - PullRequest
0 голосов
/ 06 июля 2018

полный новичок в Excel VBA здесь. У меня есть список людей и их информация о столбцах "A: D". Столбец «А» состоит из имен людей, «В» - их фамилии, «С» - их пола, а «D» - их звания. Список начинается с «A10» и продолжается вниз. Однако количество людей в этом списке не является постоянным. Я хочу скопировать эту информацию в разные ячейки и начать с строки 10. Информация из столбцов «A: B» будет идти в столбцы «N: AB», информация из столбца «C» - в столбец «AC: AE», информация из столбца "D" пойдет в столбцы "AF: AH". Объединяются только ячейки пункта назначения для вставленной информации из «N: AB», «AC: AE» и «AF: AH». Я также хочу сделать так, чтобы после того, как пользователь запустил макрос и вставил информацию, он сможет удалить список из столбцов «A: D», которые не нужны в коде, и сможет заполнить новую информацию. для другой группы людей и при повторном запуске макроса эта информация будет вставлена ​​непосредственно под информацию предыдущей группы, поэтому этот макрос можно использовать повторно.

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

Я пытался написать свой собственный код, исходя из моего нынешнего ограниченного понимания VBA, но он не работает, и я нахожусь в точке, где я даже не знаю, что я делаю больше. Вот мой текущий код:

Sub CopyandPasteCabinCrew()

Dim NoOfCrew As Long
Dim LastRow As Long

NoOfCrew = Sheets("Hotel Booking").Cells(Rows.Count, "A").End(xlUp).Row
NoOfCrew = NoOfCrew + 1

LastRow = WorksheetFunction.Max(Sheets("Hotel Booking").Cells(Rows.Count, "N").End(xlUp).Row, 9)
LastRow = LastRow + 1



ActiveSheet.Range("N:AB" & LastRow).Value = ActiveSheet.Range("A10:B" & NoOfCrew).Value
ActiveSheet.Range("AC:AE" & LastRow).Value = ActiveSheet.Range("C10" & NoOfCrew).Value
ActiveSheet.Range("AF:AH" & LastRow).Value = ActiveSheet.Range("D10" & NoOfCrew).Value

End Sub

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

Также задавал такой же вопрос на этих сайтах:

https://www.ozgrid.com/forum/forum/help-forums/excel-vba-macros/1205206-excel-vba-reuseable-copy-and-paste-below-last-cell

http://www.vbaexpress.com/forum/showthread.php?63126-Excel-VBA-reuseable-copy-and-paste-below-last-cell&p=381827#post381827

https://www.mrexcel.com/forum/excel-questions/1062168-excel-vba-reuseable-copy-paste-below-last-cell.html

...