ひとつのブック内に同じフォームのシートが複数あり、該当するセル(【】で囲まれた値)があればをSheet1に抽出できるものを作っています。
しかし最初に該当したセルの次から検索がかかり、最初に該当したセルの情報が抜けてしまいます。
After:=で引数を設定することを試みましたがどうしてもうまくいきません。
After:=s.Cells(Rows.Count, "B").End(xlUp)など最終行からの検索をしようと
Set rngSearch = myRange.Find(What:="【", LookAt:=xlPart, SearchOrder:=xlByColumns)のなかに設置してもうまくいきませんでした。
どのように設定すればいいかご教示いただけますと幸いです。
Sub test() Dim sh1 As Worksheet Dim rngSearch As Range Dim myRange As Range Dim strAdr As String Dim s As Variant Dim R1, R2 As Long On Error Resume Next Set sh1 = Worksheets("Sheet1") For Each s In ThisWorkbook.Worksheets R1 = sh1.Cells(Rows.Count, "A").End(xlUp).row R2 = s.Cells(Rows.Count, "B").End(xlUp).row Set myRange = s.Range(s.Cells(1, "B"), s.Cells(R2, "B")) Set rngSearch = myRange.Find(What:="【", LookAt:=xlPart, SearchOrder:=xlByColumns) If Not rngSearch Is Nothing Then strAdr = rngSearch.Address n = R1 + 1 Do Set rngSearch = myRange.FindNext(rngSearch) If rngSearch Is Nothing Then Exit Do Else If s.Name <> "Sheet1" And _ strAdr <> rngSearch.Address Then sh1.Cells(n, "E") = Left(Mid(rngSearch, InStr(rngSearch, "【") + 1), InStr(Mid(rngSearch, InStr(rngSearch, "【") + 1), "】") - 1) End If End If n = n + 1 Loop While rngSearch.Address <> strAdr End If Next End Sub
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/12/21 03:18
2021/12/21 04:12
2021/12/21 06:33