• ベストアンサー

ダブルクリックでプリントSheetに移動するマクロ?

エクセル初心者です。社員情報のデーターベースシート(Sheet2)の任意の行(社員番号列)をダブルクリックするとその社員情報を定形のプリントシート(Sheet1)へその行の情報を移動できるようにしていますが、データーベースシートを検索しダブルクリックするのに時間がかかり手惑いますので、データーベースシート(Sheet2)を自分でダブルクリックしないでデーターの社員番号等を検索画面等で入力してプリントシート(Sheet1)に情報を移動したいと思っています。関数やマクロでの検索、ダブルクリックの代わりになる方法等を教えて頂けたら幸いです。どうぞ宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • char_cat
  • ベストアンサー率45% (22/48)
回答No.1

マクロを使用しませんが、 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に表示させられるのですが。 質問の回答になっていますでしょうか?

chikomaru
質問者

お礼

ご回答ありがとう御座います。私の質問の仕方が回りくどく分かりにくかったようで申し訳有りません。私が教えて欲しかったことは検索後そのセルを自動的にダブルクリックするようなマクロはできないか?です。と言うのもマクロの自動記録ではダブルクリックを記録出来ないようだからです。検索後そのセルを青くするとかでしたらGoogleで出てくるのですが。。。当てはまりそうなマクロを自分でもいろいろ書き直したりしてみましたがど素人なもので全く出来ませんでした。本当にご回答ありがとう御座いました。またなにかありましたら宜しくお願い致します。

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (2)

  • char_cat
  • ベストアンサー率45% (22/48)
回答No.3

NO1です。 NO2の回答、なんか質問の主旨とまったく違う回答をしてしまっているみたいですね。すみません。

chikomaru
質問者

お礼

char_cat様、度々のご回答大変ありがとうございます。私が求めていた回答とは多少違うようですが、ご回答は大変勉強になります。VLOOKUP関数の詳しい解説や同じマクロでもワークシートイベントのイベントに記入したりと知らないことばかりでした。おかげさまで生意気にも多少詳しくなったような気分です。職場や近くには詳しい人が居ないので大変助かりました。 今後は是非教えて頂いた回答を有意義に使ってみたいと思っています。2つ共に大変詳しい回答を頂き、本当にありがとうございます。また何かありましたら是非宜しくお願い致します。

全文を見る
すると、全ての回答が全文表示されます。
  • char_cat
  • ベストアンサー率45% (22/48)
回答No.2

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 (↑ワークブックのイベントについて)

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • ダブルクリックで各シートへの移動方法

    Sheet1内のセル1をダブルクリックしたらSheet2が開き、セル2をダブルクリックしたらSheet3へといった具合に、参照できるSheetへ移動できるようにしたいのですが、どうしたらよいでしょうか?マクロ初心者で質問もうまくできませんが、どなたか教えてください。よろしくお願いします。

  • ダブルクリックして数値の1を入力するマクロを

    シート上の任意のセルをダブルクリックして 数値の1を入力したいのですが、 マクロを教えて下さい。 急なことで過去の質問も十分検索できていませんが、 よろしくお願いします。

  • Exclデータベース用マクロについて

    データベース用マクロを作っています。 sheet1のA列の中で文字検索を行い「入社」であればsheet2にある人事データベースに検索でかかった行ごとコピーしデータベースの一番下の行に貼り付ける。「異動」であればB1の「社員コード」から検索し、新しい上書き。「退社」であれば削除を行いたいと思っています。どのようにマクロを組めばよいのでしょうか。よろしくお願いします。

  • sheet間の移動マクロについてご教示下さい

    ボタンをクリックすると、 sheet1のA5に入力されている名前のsheetに移動するマクロをご教示ください。 sheet1のA5には、関数により、その都度変わる名前が表示されるようになっています。 なお、マクロはコードを張り付ける程度の初心者ですので、よろしくお願いいたします。

  • イベントマクロでコピー

    ダブルクリックイベントでシート1のデータをシート2にコピーです。シート1には、A列とB列にデータが有ります。 シート2の C3,C5,C8,C10,・・・・と D2,D4,C7,D9,・・・・とコピー先が有ります。シート1のA列の任意の行をダブルクリックでC3にコピー、次、シート1のB列の任意の行をダブルクリックでD2にコピー。次、シート1のA列の任意の行をダブルクリックでC5にコピー、次、シート1のB列の任意の行をダブルクリックでD4にコピー、とするにはどのように記述したら良いでしょうか。よろしくお願いします。

  • 【マクロ】特定シートから値を抽出し、別シートへ反映して印刷

    【マクロ】特定シートから値を抽出し、別シートへ反映して印刷 このようなマクロを組みたいです。 作成しましたがうまく動きません。 どなたか修正していただけませんか? 【やりたいこと】 シート名1『データベース』 シート名2『通知書』 (1)『データベース』  4行目からデータベースが作成された表  C列は社員番号の列 ↓ (2)『データベース』シートのA列に『1』のフラグを立てる ↓ (3)『通知書』のセルB1に自動的に(2)で立てた行のC列の社員番号が反映され  同時に通知書シートを印刷をする。 【組んでみたマクロ】 Dim i As Integer 'カウント用変数 Dim lastrow As Integer '最終行が入る変数 i = 4 '最初に始まる行数を指定 lastrow = ActiveSheet.Range("A65536").End(xlUp).Row '最終行を取得する For i = 4 To lastrow '最終行まで繰り返す If Worksheets("データベース").Range("A" & i & "") = 1 Then 'A列に「1」があったものは以下の処理をする '別シートの特定セルを取得する Worksheets("通知書").Range("B1") = "=INDIRECT(""データベース!""&""C" & i & """)" '社員番号 '印刷する Sheets("通知書").PrintOut Else 'A列に「1」がなかったら以下の処理をする End If 'A列に何かあるかの判別終了 Next i '繰り返しの終わり。i(カウント用変数)に1を足す End Sub

  • コンボボックス?で選んだシートへ移動

    私は、今エクセルのマクロを使って商品管理ファイルを作成しています。 今やろうとしている事は、選択した行を別の任意のシートへコピーする方法です。 具体的には・・・ ■前程 ・シートは1月~2月まである ■詳細 (1)1月のシートで2行目を他のシートに移動するマクロを実行する (2)ポップアップで「何月のシートに移動しますか?」と聞く (3)ポップアップにプルダウンがあり、月を選びOKなどを押す (4)選んだシートにデータを移動する 以上なのですが、どのような方法がありますでしょうか。 教えてgooでいろいろ教えて頂きながら少しずつマクロの事が分かってきたのですが、まだまだ分からない事が多いレベルです。 ご教授お願致します。

  • Excel VBAでマウス移動&ダブルクリックを。

    EcxelでVBAマクロを作成してます。 Excelから、別のウインドウ(Excelではないソフトのウインドウ) をActiveにし、「決まった座標位置へマウスを動かし、そこで、 ダブルクリック」という動作をさせたいのですが、 「座標移動&ダブルクリック」がどうしてもできません。 (その後、コピーペーストをしてExcelに戻します。) ウインドウをActiveにしたり、コピペ等は、Sendkeyで、できたのですが、 どうしても座標移動&ダブルクリックだけができません。 (そのソフト特有で、どうしても、 ダブルクリックしなくてはならない箇所があるのです。) APIなどを使用するとできますでしょうか? Sendkeyでもダブルクリック&マウスの座標移動があるようなので、 試してみましたが、それは、うまくいきませんでした。 何か別の方法をご存知の方がいらっしゃれば、教えていただきたいと思います。 よろしくお願いします。

  • エクセル、マクロ(ダブルクリック)の処理について

    よろしくご教授ください。 VisualBasicで、マクロを組む初心者です。 以下のようにダブルクリックを対象の行で行うと、"通常"と自動表示され、再度ダブルクリックをすると空白になる、と組みました。 そこを、2回目のダブルクリックで"特別"、3回目で空白にもどるようにしたいのですが、うまくできません。 どなたか、ご存知でしたらよろしくご指導くださいませ。 Case 1 If IsEmpty(Target) Then Target.Value = "通常" Else Target.Value = Empty End If Cancel = True

  • 1行から2行へのコピーなんですが

    データベースとなるシートの任意の連続する複数行を違うシートの2行にコピーしたいと考えています。 要は、 番号、氏名、社員番号、生年月日・・・と続く1行のデータを 印刷するためのシートへ 番号、社員番号・・・ 氏名、生年月日・・・のように2行にしたいのです。 1行から1行であればエクセルの基本的な機能で出来ますが、 1行から複数の行へ、終わったら次の行へ移る、の2点でつまづいております。 マクロ初心者へアドバイスお願いします。

専門家に質問してみよう