搜索标题名称后选择整列

时间:2014-02-12 23:42:36

标签: excel vba excel-vba

尝试自学VBA并且对此非常陌生。 Stackoverflow到目前为止一直是一个很棒的资源,所以我想我会在这里问它。

我想要它做的是找到名为“Reference”的单元格,然后复制它下面的列。

出于某种原因,我无法在网上找到这个,并认为我会咬紧牙关并提交一个问题。

感谢。

1 个答案:

答案 0 :(得分:2)

这取决于你所说的“细胞命名”。如果单元格实际上名为“引用”(即,如果已将单元格范围A1重命名为Reference,则可以使用偏移方法复制此单元格下方的单元格:

ActiveSheet.Range("Reference").Offset(1, 0).Copy

如果你正在搜索一个值为“参考”的单元格,你可以找到这个单元格并使用这样的方法复制单元格(请注意,如果有多个单元符合搜索条件,它将会复制最后找到的单元格下面的单元格:

With ActiveSheet.UsedRange
    Set c = .Find("Reference", LookIn:=xlValues)
    If Not c Is Nothing Then
        ActiveSheet.Range(c.Address).Offset(1, 0).Copy
    End If
End With

如果要复制特定单元格下方的整列,可以按以下代码执行操作。在这种情况下,它将复制单元格C7下面的所有已用单元格。

Sub CopyColumnBelow()
    Dim r As Range
    Set r = ActiveSheet.Range("C7")

    ActiveSheet.Range(r, ActiveSheet.Cells(Rows.Count, r.Column).End(xlUp).Address).Copy
End Sub

希望您可以使用它来继续学习Excel VBA。