Excel VBA質問箱 IV

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

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


12851 / 13646 ツリー ←次へ | 前へ→

【8329】文字列検索 今井 03/10/9(木) 0:37 質問
【8330】Re:文字列検索 ichinose 03/10/9(木) 8:21 回答
【8331】Re:文字列検索 今井 03/10/9(木) 9:03 お礼
【8334】Re:文字列検索 今井 03/10/9(木) 11:25 お礼

【8329】文字列検索
質問  今井 E-MAIL  - 03/10/9(木) 0:37 -

引用なし
パスワード
   すいません。
ちょっと高度かもしれませんが、どなたかご存知でしたらご回答お願いします。
*******************************************************************
シート名:ファイル一覧
シート名:レイアウト という2枚のシートがあります。
*******************************************************************
「ファイル一覧」の形式は次の通りです。
 A  ファイルA
 B  ファイルB
  以下続く

「レイアウト」の形式は次の通りです。
 A  ファイルA
   A-01 aaa
   A-02 bbb
    以下続く

 B  ファイルB
   B-01 aaa
   B-02 bbb
    以下続く
******************************************************************
この状態で、
「ファイル一覧」上の「A」のセルがダブルクリックされた段階で、
「レイアウト」のシートに移動して検索し、該当ある場合にはその該当位置にセル
 を移動させたいのですが・・(この場合は「A」の位置)
*******************************************************************
ご指導よろしくお願いします。

【8330】Re:文字列検索
回答  ichinose  - 03/10/9(木) 8:21 -

引用なし
パスワード
   ▼今井 さん:
おはようございます。

>*******************************************************************
>シート名:ファイル一覧
>シート名:レイアウト という2枚のシートがあります。
>*******************************************************************
>「ファイル一覧」の形式は次の通りです。
> A  ファイルA
> B  ファイルB
>  以下続く
>
>「レイアウト」の形式は次の通りです。
> A  ファイルA
>   A-01 aaa
>   A-02 bbb
>    以下続く
>
> B  ファイルB
>   B-01 aaa
>   B-02 bbb
>    以下続く
>******************************************************************
>この状態で、
>「ファイル一覧」上の「A」のセルがダブルクリックされた段階で、
>「レイアウト」のシートに移動して検索し、該当ある場合にはその該当位置にセル
> を移動させたいのですが・・(この場合は「A」の位置)
>*******************************************************************
>ご指導よろしくお願いします。
シート「ファイル一覧」のシートモジュールに
'=========================================================
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  Dim find_wd
  Dim f_rng As Range
  find_wd = ActiveCell.Value
  Set f_rng = search_cell(find_wd, Worksheets("レイアウト").Cells)
  If Not f_rng Is Nothing Then
    f_rng.Parent.Activate
    f_rng.Activate
    End If
  Cancel = True
End Sub
'===============================================================
Function search_cell(wd, rng As Range) As Range
  Set search_cell = rng.Find(What:=wd, After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _
    xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False)
End Function

というコードを記述して試してみて下さい。

【8331】Re:文字列検索
お礼  今井 E-MAIL  - 03/10/9(木) 9:03 -

引用なし
パスワード
   ichinose 様

早々のご回答ありがとうございます。
至急試してみます。
また、結果等をご連絡させていただきたく
まずは御礼まで。

【8334】Re:文字列検索
お礼  今井 E-MAIL  - 03/10/9(木) 11:25 -

引用なし
パスワード
   ichinose 様

遅くなりました。
結果としては、思っていた動作を正しく実行できました。

ありがとうございました。
 Private Sub Worksheet_BeforeDoubleClick

までは出来ていたのですが、その後「レイアウト」のSheetへ変数をうまく渡せなくて
困っていました。
find でサーチしょうとしていたことも無理があったのですかね?

ほんとうにありがとうございました

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