Excel - 使用地址复制整个列,包括空格

时间:2011-06-03 19:28:43

标签: excel-vba spreadsheet copy-paste excel-2003 vba

我要做的是扫描一张纸上的每个标题(标题位于“1:1”),找到一个名为“经销商代码”的标题,然后将整个列复制到另一张纸上。 / p>

我目前的问题是经销商代码栏中有空白,所以选择停止。我会从工作表的底部向上工作以避免这种情况,但由于标题单元格存储在一个地址中,我无法提取列字母。

有一种方法可以在我的选择中包含空白,或者提取专栏信并向上工作?

如果我非常不方便地解决问题,请告诉我!我想尽可能多地学习。

以下是我的代码。非常感谢帮助。

'Copies over Dealer Codes
With Sheets("Raw Data").Range("1:1")
Set c = .Find("Dealer Code", LookIn:=xlValues)
If Not c Is Nothing Then
    firstAddress = c.Address
    Do
        Set c = .FindNext(c)
    Loop While Not c Is Nothing And c.Address <> firstAddress
End If

Sheets("Raw Data").Range(firstAddress).Select
Sheets("Raw Data").Range(Selection, Selection.End(xlDown)).Select
Selection.Copy (Sheets("Copied Data").Range("A1"))
End With

1 个答案:

答案 0 :(得分:1)

尝试这样的事情:

Sub Test()
    With ActiveSheet.Range("1:1")
    Set c = .Find("Dealer Code")
    Dim column As String
    column = Mid(c.Address, 2, 1)
    Range(column & ":" & column).Select
    End With
End Sub

这将选择整个列,但可以轻松更改以从第2行到结尾选择元素。由于你有空白,Range(column & "2:" & column & Range(column & "65536").End(xlUp).Row).Select之类的东西可以运作,但是我会承认它有点笨拙。

其他解决方案可能更为理想。