查找从行开始粘贴的列

时间:2018-09-21 18:32:24

标签: excel vba if-statement

我一直在寻找一段时间,我看到有关从特定行开始粘贴整个列的帖子,但就我而言,我的列是基于if语句的值。我仍然是一个业余爱好者,所以我猜测答案与在某个地方设置i来查找正确的列有关,但是我不知道如何在我的情况下将其合并。下面的代码有效,我只是不知道如何从第3行开始复制,而不是使用EntireColumn。谢谢您的帮助,如果我遗漏了任何信息,请通知我。

    Sub ColumnCopy()

For Each cell In ActiveWorkbook.Sheets("Sheet1").Range("B5:AZ3000")
    If cell.Value = "Active" Then Cell.EntireColumn.Copy Destination:=ActiveWorkbook.Sheets("Sheet2").Columns(2)
Next

 End Sub 

1 个答案:

答案 0 :(得分:1)

我会为Range.Find方法修改一些选项。区分大小写?看看xlPartxlWhole?等等。当前设置为从Columns A - Z搜索以找到Active。您可以根据需要扩展此


Option Explicit

Sub FindHeader()

Dim ws As Worksheet: Set ws = ThisWorkbook.Sheets("Sheet1")
Dim Found As Range, LRow As Long

Set Found = ws.Range("A5:Z5").Find("Active")

If Not Found Is Nothing Then
    LRow = ws.Cells(ws.Rows.Count, Found.Column).End(xlUp).Row
    ws.Range(ws.Cells(3, Found.Column), ws.Cells(LRow, Found.Column)).Copy
    ThisworkBook.Sheets("Sheet2").Range("B3").PasteSpecial xlPasteValuesAndNumberFormats
End If

End Sub