根据单元格值查找行,然后根据找到的行值复制粘贴-未设置对象变量


我仍然是VBA的新手,所以任何建议都将不胜感激……

我正在尝试将具有特定名称的多个工作表中的区域复制到同一工作簿中的一个工作表。范围是动态的,因为我知道范围在哪一列开始和结束,但我不知道它将在哪一行开始和结束。我已经计算出粘贴目标,但我需要帮助找到范围应该开始的行。我想要复制的范围应该从单元格值= "Open Items:“的行后开始(即,如果单元格= "Open Items:”的行是3,那么我希望我的范围从C4开始)

我的.Find公式有一个问题,它不返回任何东西。我确信我搜索的"Open Items:“区域确实有一个与此相等的单元格。下面是我的代码:

Dim ws As Worksheet
Dim targetws As Worksheet
Dim FindRow As Range
Dim openitemrow As Long

Set targetws = Sheets("targetwsname")

'loop through each ws

For Each ws In ActiveWorkbook.Worksheets

'sets ws name constraint and then tries to find the starting row in the range
If ws.Name Like "*" & "Open" & "*" Then
     Set FindRow = ws.Range("C:C").Find("Open Items:", lookin:=xlValues, lookat:=xlWhole)
     openitemrow = FindRow.Row
'there needs to be values in c4 for me to copy data over but the data i need to copy is in a different location
          If Not IsEmpty(ws.Cells(4, "C")) Then
               ws.Range("C:F" & openitemrow).End(xlUp).Offset(1).Copy Destination:=targetws.Range("D" & Rows.Count).End(xlUp).Offset(1)

          End If
    End If
next ws 

转载请注明出处:http://www.fortunesungroup.com/article/20230331/2073634.html