问题是我想要复制某个列,但我想只复制特定单元格上的数据并获取它下面的数据。
比方说,我想复制Cell C5及以下,这将忽略C1到C4。这可能吗?
答案 0 :(得分:0)
Sheet1.Columns(3).Resize(Sheet1.Columns(3).Rows.Count - 4).Offset(4).Select
这将选择整个C列,但前4个单元格。它只需要第3列,调整大小以减去前4个单元格并将下面的起始单元格4单元格偏移并选择该范围。 如果定义了范围,那么代码可以更加优化。
编辑示例代码:
Sub copyCells()
Dim sht As Worksheet
Dim rngStart As Range
Dim rng As Range
Set sht = Sheet1
Set rngStart = sht.Cells(5, 3) ' this is C5
rngStart.Select
Set rng = rngStart.Resize(rngStart.End(xlDown).Row - rngStart.Row + 1)
rng.Copy Sheet2.Cells(1, 1) ' copy where you need
End Sub
答案 1 :(得分:0)
除了我在下面提出的问题之外,这是一种方法。这适用于所有情况。是否有空白单元格......
foreach
答案 2 :(得分:-1)
这将从选择中复制整个列(包含数据),只需将其粘贴到您想要的任何位置。
Sub CopyColumnFromSelected()
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
End Sub
或(Ctrl + Shift +向下箭头)< ---从您想要的单元格和Ctrl + C;)