Excel VBA質問箱 IV

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

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


7487 / 13645 ツリー ←次へ | 前へ→

【38866】フォーム内での検索と入力について レオン 06/6/13(火) 1:12 質問[未読]
【38867】Re:フォーム内での検索と入力について かみちゃん 06/6/13(火) 6:29 回答[未読]
【38899】Re:フォーム内での検索と入力について レオン 06/6/14(水) 0:10 お礼[未読]
【38902】Re:フォーム内での検索と入力について かみちゃん 06/6/14(水) 0:33 回答[未読]

【38866】フォーム内での検索と入力について
質問  レオン  - 06/6/13(火) 1:12 -

引用なし
パスワード
   すいません、質問させてください。
過去ログを検索してみたのですが、よくわかりませんでしたので、
お教え下さい。

題名にあるように、フォーム内での検索と入力を行いたいのです。
顧客IDとその顧客氏名をそれぞれテキストボックスで作成し、
顧客IDの横に「検索」ボタンを作成します。
よく入力する顧客情報に関しては別のシートに顧客IDと顧客氏名を
リストにしておきます。
フォーム内で、顧客IDを入力した後、「検索」ボタンを押すと、予め
作成しておいたリストがあるシートでそのIDを検索し、一致したもの
のすぐ右のセルに入力してある顧客氏名をフォーム内の顧客氏名
のテキストボックスに抽出するというマクロを作成したいのですが、
「検索」、検索後の転記のコードがわかりません。

申し訳ありませんが、ご教授下さい。お願いします。

【38867】Re:フォーム内での検索と入力について
回答  かみちゃん  - 06/6/13(火) 6:29 -

引用なし
パスワード
   こんにちは。かみちゃん です。

>フォーム内で、顧客IDを入力した後、「検索」ボタンを押すと、予め
>作成しておいたリストがあるシートでそのIDを検索し、一致したもの
>のすぐ右のセルに入力してある顧客氏名をフォーム内の顧客氏名
>のテキストボックスに抽出する

以下のような感じでできます。

Private Sub CommandButton1_Click()
 Dim strID As String
 Dim c As Range
 
 strID = Me.TextBox1.Value 'TextBox1の値をIDとする。
 With Sheets("Sheet1").Columns("A")
  'IDをSheet1のA列から検索する。
  Set c = .Find(strID, LookIn:=xlValues, LookAt:=xlWhole)
  If Not c Is Nothing Then
   '見つかったセルの1列右隣のセルの値をTextBox2の値とする。
   Me.TextBox2.Value = c.Offset(, 1).Value
  Else
   MsgBox "その値はありません"
  End If
 End With
End Sub

検索結果をTextBoxに表示するということですが、表示されたものが書き換える
ことができるのですが、いいのでしょうか?
TextBoxが書き換えられないようにロックするか、TextBoxではなく、Labelに
するほうがいいのではないでしょうか?

【38899】Re:フォーム内での検索と入力について
お礼  レオン  - 06/6/14(水) 0:10 -

引用なし
パスワード
   かみちゃん さん。早速の御回答、大変ありがとうございます。
ご教授くださった通りに入力すると、できました!!!
しばらくわからなかったので、助かりました。

>検索結果をTextBoxに表示するということですが、表示されたもの
>が書き換えることができるのですが、いいのでしょうか?
>TextBoxが書き換えられないようにロックするか、TextBoxではな
>く、Labelにするほうがいいのではないでしょうか?

はい、確かにロックできたらと思ったのですが、書き換えることがで
きてしまうことを注意しておいたらいいと思っていました。

もしも、もしもお手間ではなかったら、ロックをかける方法を教えてい
ただいてもよろしいでしょうか?
大変あつかましい申し出で恐縮ですが、よろしくお願いします。

【38902】Re:フォーム内での検索と入力について
回答  かみちゃん  - 06/6/14(水) 0:33 -

引用なし
パスワード
   こんにちは。かみちゃん です。

> ロックをかける方法

TexBoxのLokedプロパティをTrueにすればできます。

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