首页 > 解决方案 > 如何复制列标题为“测试”的列

问题描述

我是 VBA 新手,正在尝试从第 2 行开始复制列,其中列标题(在第 1 行)包含某个单词 - “唯一 ID”。

目前我拥有的是:

Dim lastRow As Long
lastRow = ActiveWorkbook.Worksheets("Sheets1").Range("A" & Rows.Count).End(xlUp).Row
Sheets("Sheets1").Range("D2:D" & lastRow).Copy

但是“唯一 ID”并不总是在 D 列中

标签: excelvba

解决方案


您可以尝试以下代码,它会遍历第一行以查找指定的标题:

Sub CopyColumnWithHeader()

    Dim i As Long
    Dim lastRow As Long

    For i = 1 To Columns.Count
        If Cells(1, i) = "Unique ID" Then
            lastRow = Cells(Rows.Count, i).End(xlUp).Row
            Range(Cells(2, i), Cells(lastRow, i)).Copy Range("A2")
            Exit For
        End If
    Next

End Sub


推荐阅读