Excel VBA可重复使用的复制和粘贴,位于最后一个单元格下方

时间:2018-07-06 10:35:34

标签: excel vba excel-vba excel-2016

在这里是excel VBA的完整初学者。我在“ A:D”列上列出了人员及其信息。 “ A”列由人员的姓氏组成,“ B”由姓氏组成,“ C”由性别组成,“ 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

0 个答案:

没有答案