在这里是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,因此对答案代码的某些注释将非常有帮助。如果我的问题令人困惑,请随时提出任何问题。
也在这些网站上问了同样的问题: