我有一个.csv
文件,我写了一个宏来读入。它将数据放在Sheet2中。
我需要复制一个数据块,该数据块以文本字符串" BP Error
"后面的行开头。在该字符串之前的数据的长度可以变化,但是我感兴趣的数据块具有固定的大小。我想将此数据块复制回我工作簿的Sheet1
。
我尝试过一个子程序来搜索" BP Error
"但我一直试图做胶版复印。在" BP Error
"之后,我需要接下来的18行数据。 (顺便说一下,它总是在B
列中。)
示例:BP Error
位于单元格B13
中,我需要将单元格A14:G31
复制到Sheet1
有什么建议吗?
答案 0 :(得分:2)
由于您必须只找到第一个" BP错误",以下代码将为您完成工作(不要忘记更改工作表名称并检查范围以确定它们是否符合您的需求) :
Sub DoYourJob()
Dim readingRow As Long
Dim sourceSheet As Worksheet
Dim destinationSheet As Worksheet
Set sourceSheet = ThisWorkbook.Worksheets("YourSourceSheetName")
Set destinationSheet = ThisWorkbook.Worksheets("YourDestinationSheetName")
For readingRow = 1 To sourceSheet.Cells(sourceSheet.Rows.Count, 2).End(xlUp).Row
If sourceSheet.Cells(readingRow, 2) = "BP Error" Then
sourceSheet.Range(sourceSheet.Cells(readingRow + 1, 1), sourceSheet.Cells(readingRow + 18, 7)).Copy (destinationSheet.Cells(1, 1))
Exit For
End If
Next readingRow
End Sub