【发布时间】:2016-02-23 01:27:16
【问题描述】:
我是编程新手,并试图通过使用宏记录器来学习 VBA 的基础知识。我正在处理一个小型 VBA 项目,需要从 C 列、第 2 列和 H 列、第 1 列复制数据,然后将它们作为单列粘贴到第 3 列 A 列上。第一部分很简单。我从表 2 上的 Col C 复制到表 3 上的 Col A。第二部分是从表 1 上的 Col.H 复制,然后在表 3 上的 Col A 上找到下一个可用行。我的问题是如何获取我的宏将复制的数据粘贴到工作表 3、Col A 的下一个可用行?我正在尝试调试,看起来问题在于选择下一个空行。即使定义了 NextRow,它看起来也不像 Cells.NextRow.Select 是正确的语法。这是我的代码:
Sub Macro2()
' copy from Sheet2
Sheets("Sheet2").Select
Range("C7").Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
' paste on Sheet3
Sheets("Sheet3").Select
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
' copy from Sheet1
Sheets("Sheet1").Select
Range("H2").Select
Range(Selection, Selection.End(xlDown)).Select
Application.CutCopyMode = False
Selection.Copy
' paste on Sheet3
Sheets("Sheet3").Select
NextRow = Cells(Rows.Count, 1).End(xlUp).Row + 1
**Cells.NextRow.Select**
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
仅供参考,表 1 和表 2 分别在第 1 行和第 6 行具有列标题。我不想复制那些,所以我硬编码了要复制的范围的起点。我的变量“NextRow”在我调试时似乎正在工作,但问题似乎在于下一个可用行的实际选择。
【问题讨论】: