- ベストアンサー
ダブルクリックでプリントSheetに移動するマクロ?
エクセル初心者です。社員情報のデーターベースシート(Sheet2)の任意の行(社員番号列)をダブルクリックするとその社員情報を定形のプリントシート(Sheet1)へその行の情報を移動できるようにしていますが、データーベースシートを検索しダブルクリックするのに時間がかかり手惑いますので、データーベースシート(Sheet2)を自分でダブルクリックしないでデーターの社員番号等を検索画面等で入力してプリントシート(Sheet1)に情報を移動したいと思っています。関数やマクロでの検索、ダブルクリックの代わりになる方法等を教えて頂けたら幸いです。どうぞ宜しくお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
マクロを使用しませんが、 VLOOKUPという関数を使用してみてはどうでしょう? あるセルに社員番号を入れると、それに対応したデータを引き出せます。 A B C 1 11 山田 営業 2 21 鈴木 総務 3 23 佐藤 会計 以上のような社員データの表sheet2があったとして、sheet1のセルA1に社員番号を入力します。 A2に次の式を入れます。 =VLOOKUP(A1,Sheet2!A1:C3,2,FALSE) こうすると、sheet1のA1に11と入力すると、山田と表示されます。 これを応用すると、様々な情報をsheet2から社員番号を入力するだけでsheet1に表示させられるのですが。 質問の回答になっていますでしょうか?
その他の回答 (2)
- char_cat
- ベストアンサー率45% (22/48)
NO1です。 NO2の回答、なんか質問の主旨とまったく違う回答をしてしまっているみたいですね。すみません。
お礼
char_cat様、度々のご回答大変ありがとうございます。私が求めていた回答とは多少違うようですが、ご回答は大変勉強になります。VLOOKUP関数の詳しい解説や同じマクロでもワークシートイベントのイベントに記入したりと知らないことばかりでした。おかげさまで生意気にも多少詳しくなったような気分です。職場や近くには詳しい人が居ないので大変助かりました。 今後は是非教えて頂いた回答を有意義に使ってみたいと思っています。2つ共に大変詳しい回答を頂き、本当にありがとうございます。また何かありましたら是非宜しくお願い致します。
- char_cat
- ベストアンサー率45% (22/48)
No1です。 そう言うことですね。 >>検索後そのセルを青くするとかでしたらGoogleで出てくるのですが。。。 http://www.happy2-island.com/excelsmile/smile03/capter01011.shtml 確かにありました。そこを参考に書くと。 ダブルクリックをする場合は、ワークシートイベントにマクロを記入します。 Private Sub Workbook_SheetBeforeDoubleClick(ByVal Sh As Object _ , ByVal Target As Range _ , Cancel As Boolean) lngType = Sh.Type If lngType = xlWorksheet Then Selection.Copy Sheets("Sheet2").Select Range("A1").Select ActiveSheet.Paste End If End Sub といった感じででしょうか? 任意のセルをダブルクリックすると、そのセルの内容をsheet2のA1に貼り付けるマクロです。 要点は標準モジュールにマクロを書くのではなく、ワークブックのイベントに書くことです。 http://excelvba.pc-users.net/fol4/4_5.html (↑ワークブックのイベントについて)
お礼
ご回答ありがとう御座います。私の質問の仕方が回りくどく分かりにくかったようで申し訳有りません。私が教えて欲しかったことは検索後そのセルを自動的にダブルクリックするようなマクロはできないか?です。と言うのもマクロの自動記録ではダブルクリックを記録出来ないようだからです。検索後そのセルを青くするとかでしたらGoogleで出てくるのですが。。。当てはまりそうなマクロを自分でもいろいろ書き直したりしてみましたがど素人なもので全く出来ませんでした。本当にご回答ありがとう御座いました。またなにかありましたら宜しくお願い致します。