每次单击宏的表单按钮时,我需要将单元格区域复制到单独的工作表中的下一个空白列中。
这是代码。问题是它复制到下一个空白行,我需要下一个空白列。我尝试过以各种方式编辑行*并最终出现错误或没有效果(例如替换"行"使用"列")。
如果找到了复制到下一个空白行VBA'的基础。在SO,在以下链接: Copy and Paste a set range in the next empty row
感谢您的帮助,我目前陷入困境。
Sub TestCopyToDB()
Application.ScreenUpdating = False
Dim copySheet As Worksheet
Dim pasteSheet As Worksheet
Set copySheet = Worksheets("sheet1")
Set pasteSheet = Worksheets("sheet2")
copySheet.Range("M1:M15").Copy
pasteSheet.Cells(Rows.Count, 1).End(xlUp).Offset(1, 0).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Application.ScreenUpdating = True
End Sub
答案 0 :(得分:9)
Cells
方法有两个参数, row 和 column ,即
Cells(1,1) '<~~ equivalent to cell "A1"
Cells(1,3) '<~~ equivalent to cell "C1"
Cells(10,13) '<~~ equivalent to cell "M10"
Offset
方法的工作方式类似,有两个参数, row_offset 和 column_offset ,所以:
.Offset(1,1) '<~~ returns the cell one row below, and one column to the right
.Offset(-1, 3) '<~~ returns the cell one row above, and 3 columns to the right
进行一些调整,并将.End(xlUp)
(针对行)更改为.End(xlToLeft)
,这样就可以了:
With pasteSheet
.Cells(1, .Columns.Count).End(xlToLeft).Offset(0,1).PasteSpecial _
Paste:=xlPasteValues, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
End With