VBA:复制整个列内容,从特定的和下面的数据开始

时间:2015-05-12 07:31:42

标签: vba excel-vba excel

问题是我想要复制某个列,但我想只复制特定单元格上的数据并获取它下面的数据。

比方说,我想复制Cell C5及以下,这将忽略C1到C4。这可能吗?

3 个答案:

答案 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;)