Excel VBA質問箱 IV

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

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


5681 / 76732 ←次へ | 前へ→

【76659】条件別で選択するシートを変え、シートの中にある検索ワードを検索
質問  さとちぃ  - 15/2/24(火) 16:14 -

引用なし
パスワード
   VBA初心者です。
以下のような内容を実行したいのですが、プログラム作成に苦戦しております。

シート名”会社情報一覧”のシートにて、検索したい会社名を選択、マクロの実行ボタンを
押すと、会社名の載っている別のシートを選択し、そこで検索をかけ、ヒットしたセルに
色を付ける。


シート名”会社情報一覧”

  A        B        C         D         E
1 会社名    リンク      Aグループ企業  Bグループ企業  Cグループ企業
2 ZF株式会社 マクロを実行する   ○
        リンクボタン
3 XYZ株式会社 マクロを実行する            ○
        リンクボタン


上の表の意味として、ZF株式会社の情報は、シート名”Aグループ企業”に載っているということです。
そのため、Aグループ企業のシートに飛んで、その中にあるZF株式会社のセルを探して色を付けるという
作業になります。


Sub オールラウンド拠点情報からのSC情報検索()
  Dim Target As String    '文字列を表示する引数Targetを宣言
  Dim FoundCell As Range   '文字列を表示する引数FoundCellを宣言
  Dim SearchArea As Range  '文字列を表示する引数SearchAreaを宣言
  Dim Addr As String
  Dim FoundAddr() As String
  Dim i As Long
  
  Target = ActiveCell
  If Target = "False" Then Exit Sub 'もしも入力した文字がない場合は、プログラムを終了
   
  For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row

  If Cells(i, 3) = "○"
  Worksheets("Aグループ企業").Select
  End If
  
  If Cells(i, 4) = "○"
  Worksheets("Bグループ企業").Select
  End If

  If Cells(i, 5) = "○"
  Worksheets("Cグループ企業").Select
  End If

  Set SearchArea = ActiveSheet.UsedRange
  
  Set FoundCell = SearchArea.Find(what:=Target, LookIn:=xlValues, _
          LookAt:=xlPart, MatchCase:=False, MatchByte:=False)
  If FoundCell Is Nothing Then Exit Sub
  Addr = FoundCell.Address
  
  Do
    ReDim Preserve FoundAddr(i) '配列の内容を維持したまま再宣言
    FoundAddr(i) = FoundCell.Address '検索結果のアドレスを配列に格納
    Set FoundCell = SearchArea.FindNext(After:=FoundCell)
    i = i + 1
    If FoundCell Is Nothing Then Exit Do
  Loop Until FoundCell.Address = Addr
  
  '配列に格納されたアドレスをカンマ区切りで結合し、セル範囲を一括選択
  Range(Join(FoundAddr, ",")).Select  '---(1)
End Sub
  

264 hits

【76659】条件別で選択するシートを変え、シートの中にある検索ワードを検索 さとちぃ 15/2/24(火) 16:14 質問[未読]
【76662】Re:条件別で選択するシートを変え、シート... kanabun 15/2/24(火) 17:37 発言[未読]
【76663】Re:条件別で選択するシートを変え、シート... kanabun 15/2/24(火) 20:06 発言[未読]
【76664】Re:条件別で選択するシートを変え、シート... さとちぃ 15/2/25(水) 10:05 質問[未読]
【76665】Re:条件別で選択するシートを変え、シート... kanabun 15/2/25(水) 10:36 発言[未読]
【76666】Re:条件別で選択するシートを変え、シート... kanabun 15/2/25(水) 10:38 発言[未読]
【76667】Re:条件別で選択するシートを変え、シート... さとちぃ 15/2/25(水) 11:23 質問[未読]
【76668】Re:条件別で選択するシートを変え、シート... kanabun 15/2/25(水) 11:42 発言[未読]
【76669】Re:条件別で選択するシートを変え、シート... さとちぃ 15/2/25(水) 14:23 お礼[未読]
【76670】Re:条件別で選択するシートを変え、シート... さとちぃ 15/2/25(水) 15:15 質問[未読]
【76673】Re:条件別で選択するシートを変え、シート... kanabun 15/2/25(水) 17:00 発言[未読]
【76684】Re:条件別で選択するシートを変え、シート... さとちぃ 15/2/26(木) 15:47 質問[未読]

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