Excel VBA質問箱 IV

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

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


4186 / 13644 ツリー ←次へ | 前へ→

【57984】1つのシートから得た値で他シートを検索したい おぢちゃん 08/9/25(木) 17:36 質問[未読]
【57988】Re:1つのシートから得た値で他シートを検索したい neptune 08/9/25(木) 21:56 発言[未読]
【57989】Re:1つのシートから得た値で他シートを検索したい おぢちゃん 08/9/25(木) 22:48 お礼[未読]

【57984】1つのシートから得た値で他シートを検索したい
質問  おぢちゃん  - 08/9/25(木) 17:36 -

引用なし
パスワード
   1つのシート内から得た値で他のシート内を検索したいのです。

下記の"myNo = ActiveCell.Value"の記述が不正であるとは思うのですが
どのように記述すればよいのでしょう。お教えいただけますか。

Private Sub Cbt検索_Click()
Dim myNo As Variant
Dim myKekka As Range

Sheets("1").Select
myNo = ActiveCell.Value
MsgBox myNo

Sheets("2").Select
Set myKekka = Range("A1:A50").Find(What:=myNo, LookAt:=xlWhole)
Range(myKekka.Address).Activate
MsgBox ActiveCell.Address
End Sub

【57988】Re:1つのシートから得た値で他シートを検索した...
発言  neptune  - 08/9/25(木) 21:56 -

引用なし
パスワード
   ▼おぢちゃん さん:
こんにちは

>1つのシート内から得た値で他のシート内を検索したいのです。
>
>下記の"myNo = ActiveCell.Value"の記述が不正であるとは思うのですが
>どのように記述すればよいのでしょう。お教えいただけますか。
文法的には不正ではないと思います。

何がどの様にうまく行かないのでしょうか?
このままでは他の方からもResが付きにくいような気がします。

一応気付いた点を1つ
>Sheets("2").Select
>Set myKekka = Range("A1:A50").Find(What:=myNo, LookAt:=xlWhole)

Set myKekka = Sheets("2").Range("A1:A50").Find(What:=myNo, LookAt:=xlWhole)
のように書いた方がrangeオブジェクトがどこのものか明確になりよいです。
もうひとつ
検索結果がない場合の処理が書かれていませんから、ない場合はエラーになります。

【57989】Re:1つのシートから得た値で他シートを検索した...
お礼  おぢちゃん E-MAIL  - 08/9/25(木) 22:48 -

引用なし
パスワード
   ▼neptune さん:
ありがとうございます。

>文法的には不正ではないと思います。
この一文で勇気づけられました。

>一応気付いた点を1つ
>>Sheets("2").Select
>>Set myKekka = Range("A1:A50").Find(What:=myNo, LookAt:=xlWhole)
>は
>Set myKekka = Sheets("2").Range("A1:A50").Find(What:=myNo, LookAt:=xlWhole)
>のように書いた方がrangeオブジェクトがどこのものか明確になりよいです。

このアドバイスをヒントにコードを書き直してみたところ希望する処理が確認できました。

説明不足でした。
検索結果のあるシートを表示し、そのセルアドレスをメッセージボックスに表示したかったのです。

これで明日からの作業が進みます。
ありがとうございました。

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