私はVBAで比較的経験はありませんが、通常は簡単なタスクを完了できます。私は現在、.Find関数に問題があります。私はexcelが2つの.findsを行う能力を持っていないことを知っていますが、私は2番目のfindのループをコーディングする際に問題を抱えています。私がこれまで持っているコードはここにある: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を持たないセルをスキップできません。 –