我在VBA中相對缺乏經驗,但通常可以完成簡單的任務。我目前遇到.Find函數的問題。我知道excel沒有能力做兩個.finds,但我在爲第二次查找編寫循環時遇到了問題。我到目前爲止的代碼是在這裏:在VBA中編程多個.FindNext
Dim j As Integer
Dim Total As Integer
Total = Application.CountIf(Sheets("Output").Range("A:A"), "*Structure*")
Dim class As String
class = "CLASS ="
Dim str As String
str = "Structure"
With Sheets("output")
Set rng1 = .Range("A:A").Find(str, lookat:=xlPart)
row1 = rng1.Row
Set rng2 = .Range("A:A").FindNext(rng1)
row2 = rng2.Row
For j = 6 To Total + 5
If Application.WorksheetFunction.CountIf(Sheets("output").Range("A" & row1 & ":A" & row2), "*" & class & "*") > 0 Then
Set rng3 = .Range("A" & row1 & ":A" & row2).Find(class, lookat:=xlPart)
Sheets("sheet2").Cells(7, j).Value = Mid(rng3, 9, 3)
Else
Sheets("sheet2").Cells(7, j).Value = ""
End If
row1 = row2
Set rng2 = .Range("A:A").FindNext(rng2)
row2 = rng2.Row
Next j
End With
我的代碼,以創建第二.Find一個範圍,然後填寫表格位於不同的工作搜索單詞「結構」。我知道這個問題是與多重。找到,但找不到任何我可以完全理解的幫助。
什麼是錯誤您收到?爲什麼在結構的兩端都有星號? –
包含「結構」的單元格可在其任一側上具有文本。我沒有收到錯誤,但在程序找到rng3之後,它變成了新的搜索項目。所以rng2不再搜索「結構」,並且表格不能跳過沒有rng3的單元格。 –