Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


43235 / 76732 ←次へ | 前へ→

【38548】Re:繰り返し検索についての質問
発言  Jaka  - 06/6/6(火) 12:14 -

引用なし
パスワード
   >Set CVr = Worksheets("CVPARTS").Range("H:H").Find("組立図", , , xlPart, , , False, False)
これで、"組立図"と言う文字を検索しています。

>'ユニットマスタ -シートのG列のなかで、CVrとおんなじセルを検索
>Set F = ws.Range("G:G").Find(CVr.Value, , , xlPart, , , False, False)
なのに、同じ文字を検索するのに何でセルを参照するのでしょうか?
素直に文字を検索するのが良いです。
Set F = ws.Range("G:G").Find("組立図", , , xlPart, , , False, False)

Dim 検索文字 as string
検索文字 = "組立図"
と、すれば
Set F = ws.Range("G:G").Find(検索文字, , , xlPart, , , False, False)
と、書けます。

>'上記のコードを繰り返す
>st = CVr.row
>Set CVr = Worksheets("CVPARTS").Range("H:H").FindNext(CVr)
別シートに対して、FindNextは使えないと思います。

検証してないけど、

Dim ws As Worksheet
Dim F As Range
Dim SavRow As Long
Dim 検索範囲 As String, 検索文字 As String
検索文字 = "組立図"
For Each ws In ActiveWorkbook.Worksheets
  If ws.Name = "CVPARTS" Then
    検索範囲 = "H:H"
  ElseIf InStr(1, ws.Name, "ユニットマスター") <> 0 Then
    検索範囲 = "G:G"
  End If
  With ws.Range(検索範囲)
    Set F = .Find(検索文字, , , xlPart, , , False, False)
    If Not F Is Nothing Then
     SavRow = F.Row
     Do
       ws.Cells(F.Row, 7).Interior.Color = RGB(0, 255, 0)
       Set F = .FindNext(F)
     Loop Until F.Row = SavRow
    End If
  End With
Next

0 hits

【38542】繰り返し検索についての質問 ゆっけ 06/6/6(火) 11:03 質問
【38548】Re:繰り返し検索についての質問 Jaka 06/6/6(火) 12:14 発言
【38564】修正 Jaka 06/6/6(火) 14:08 発言
【38549】Re:繰り返し検索についての質問 Statis 06/6/6(火) 12:16 発言
【38554】Re:繰り返し検索についての質問 ハチ 06/6/6(火) 12:45 発言
【38559】Re:繰り返し検索についての質問 ハト 06/6/6(火) 13:42 回答
【38570】Re:繰り返し検索についての質問 Kein 06/6/6(火) 14:42 回答
【38581】Re:繰り返し検索についての質問 ゆっけ 06/6/6(火) 16:55 お礼
【38584】Re:繰り返し検索についての質問 ゆっけ 06/6/6(火) 18:04 質問
【38614】Re:繰り返し検索についての質問 ハト 06/6/7(水) 11:14 発言
【38616】Re:繰り返し検索についての質問 ハチ 06/6/7(水) 13:13 発言
【38655】Re:繰り返し検索についての質問 ゆっけ 06/6/8(木) 6:50 お礼

43235 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free