我需要编写一个宏来读取 GeoTechnical 数据的工作表,根据特定行中的值选择数据,选择该行并继续阅读直到工作表结束。选择所有行后,我需要将这些行复制到新工作表中。我已经有 10 年没有做过 VBA 了,所以只是想重新开始。
例如,我希望宏读取工作表,当“I”列在特定行上包含“运行”一词时,我想从该行中选择 A:AM。继续阅读工作表,直到它结束。文档的结尾很棘手,因为有时工作表中的数据组之间最多有 10-15 个空白行。如果有超过 25 个空白行,则文档将位于末尾。选择所有内容后,我需要将选择复制粘贴到新工作表中。这是我到目前为止的代码,但我无法选择:
Option Explicit
Sub GeoTechDB()
Dim x As String
Dim BlankCount As Integer
' Select first line of data.
Range("I2").Select
' Set search variable value and counter.
x = "Run"
BlankCount = 0
' Set Do loop to read cell value, increment or reset counter and stop loop at end 'document when there
' is more then 25 blank cells in column "I", copy final selection
Do Until BlankCount > 25
' Check active cell for search value "Run".
If ActiveCell.Value = x Then
'select the range of data when "Run" is found
ActiveCell.Range("A:AM").Select
'set counter to 0
BlankCount = 0
'Step down 1 row from present location
ActiveCell.Offset(1, 0).Select
Else
'Step down 1 row from present location
ActiveCell.Offset(1, 0).Select
'if cell is empty then increment the counter
BlankCount = BlankCount + 1
End If
Loop
End Sub