検索条件 | |
---|---|
[194738] 検索条件- ■親トピック/記事引用/メール受信=OFF■ □投稿者/ EKDJNCSN -(2022/02/10(22:58)) □U R L/ こんばんは 今のコードは,1つのみの単語で検索抽出ですが 2つ以上でもできますか? 今まで 新幹線 例 新幹線,飛行機,電車 ,カンマを入れて「新幹線,飛行機,電車」 3つの単語がある条件で抽出する Sub () Dim myStr As String Dim WS As Worksheet Dim buf As Worksheet Dim i As Long Dim myF As Range Dim myAdd As String myStr = InputBox("検索する文字列を入力して下さい") If myStr = "" Then Exit Sub On Error Resume Next Set WS = Worksheets("出力シート") On Error GoTo 0 If WS Is Nothing Then Set WS = Worksheets.Add(Before:=Worksheets(1)) WS.Name = "出力シート" Else WS.UsedRange.ClearContents End If For Each buf In Worksheets If buf.Name <> WS.Name Then Set myF = buf.UsedRange.Find(myStr) If Not myF Is Nothing Then myAdd = myF.Address Do i = i + 1 myF.EntireRow.Copy WS.Cells(i, 1) WS.Cells(i, 1).NumberFormatLocal = "[$-411]ggge""年""m""月""d""日"";@" WS.Cells(i, 3).Resize(, 2).Value = Array(buf.Name, myF.Row) '追加 Set myF = buf.UsedRange.FindNext(myF) Loop While myAdd <> myF.Address Set myF = Nothing End If End If Next If i = 0 Then MsgBox myStr & " は見つかりませんでした" Set WS = Nothing End Sub この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 |
[194740] Re[1]: 検索条件- ■記事引用/メール受信=OFF■ □投稿者/ OK -(2022/02/11(09:10)) □U R L/ ANDですか?ORですか? |
[194744] Re[2]: 検索条件- ■記事引用/メール受信=OFF■ □投稿者/ EKDJNCSN -(2022/02/13(00:00)) □U R L/ andです |
[194745] Re[3]: 検索条件- ■記事引用/メール受信=OFF■ □投稿者/ マナ -(2022/02/13(14:47)) □U R L/ 1行ずつ評価、転記を繰り返す例 Dim s Dim r As Range s = Split(myStr, ",") For Each buf In Worksheets If buf.Name <> WS.Name Then For Each r In buf.UsedRange.Rows If Application.Min(Application.CountIf(r, s)) > 0 Then i = i + 1 r.EntireRow.Copy WS.Cells(i, 1) WS.Cells(i, 3).Resize(, 2).Value = Array(buf.Name, r.Row) End If Next End If Next この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 |
このトピックに書きこむ |
---|