儘管閱讀了幾個線程來搜索類似問題的答案,但我一直無法自行調試我的代碼。VBA基於範圍值將整個行復制到新工作表
我試圖編寫一個宏來搜索AE和BF之間的術語「航空工程師」的所有單元格,然後將包含該術語的所有行復制到新工作表。整個片共有99289.
我曾嘗試使用下面的代碼沒有任何的運氣嘗試:
Sub MoveAero()
Dim strArray As Variant
Dim wsSource As Worksheet
Dim wsDest As Worksheet
Dim NoRows As Long
Dim DestNoRows As Long
Dim I As Long
Dim J As Integer
Dim rngCells As Range
Dim rngFind As Range
Dim Found As Boolean
strArray = Array("Aeronautic")
Set wsSource = ActiveSheet
NoRows = wsSource.Range("A65536").End(xlUp).Row
DestNoRows = 1
Set wsDest = ActiveWorkbook.Worksheets.Add
For I = 1 To NoRows
Set rngCells = wsSource.Range("AE" & I & ":BF" & I)
Found = False
For J = 0 To UBound(strArray)
Found = Found Or Not (rngCells.Find(strArray(J)) Is Nothing)
Next J
If Found Then
rngCells.EntireRow.Copy wsDest.Range("A" & DestNoRows)
DestNoRows = DestNoRows + 1
End If
Next I
End Sub
感謝任何幫助!
將搜索字符串存儲到變量而不是數組。 – findwindow
考慮描述你的意思是「沒有任何運氣」。有錯誤嗎?如果是這樣,哪條線會引發錯誤,錯誤信息是什麼? –
@DavidZemens當我按照寫入的方式運行宏時,添加了新工作表,但沒有任何內容被複制。沒有錯誤發生 – Mac