- ベストアンサー
ユーザーフォームでの検索結果を別シートに転記
- ユーザーフォームでの検索結果を別シートに転記して印刷したい
- ユーザーフォームで指定された番号のデータを別シートに転記して印刷
- データファイルから指定された番号のデータを別シートに転記して印刷したい
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
【具体的なエクセルの姿】 ユーザーフォームにはTextBox1とCommandButton1が配置してある ユーザーフォームを持っているブックのSheet1が印刷シートになっている 印刷シートのB1からB4にデータを表示する 元データはc:\testフォルダにあるbook1.xlsのSheet1にある 元データのA列,番号は「文字列設定のセル」に「0001」と記入してある #丸投げでマクロを誰かに書いて欲しいときは,これぐらいの情報が必要ですってことです。 private sub CommandButton1_Click() if textbox1 = "" then exit sub with thisworkbook.worksheets("Sheet1") .range("B1").numberformat = "@" ’この行はオマケ .range("B1") = textbox1.value .range("B2").formula = "=VLOOKUP(B1,'c:\test\[book1.xls]Sheet1'!A:D,2,FALSE)" .range("B3").formula = "=VLOOKUP(B1,'c:\test\[book1.xls]Sheet1'!A:D,3,FALSE)" .range("B4").formula = "=VLOOKUP(B1,'c:\test\[book1.xls]Sheet1'!A:D,4,FALSE)" .range("B2:B4").value = .range("B2:B4").value end with worksheets("Sheet1").printout end sub こんなカンジにすると,データブックを一切開かずにデータを転記して印刷できます。 もちろん,テキストボックスに入力した番号がデタラメで該当データが無ければ,その旨エラー表示が現れます。
お礼
お礼が遅くなって申し訳ありません! こんなに丁寧に書いて頂いて本当にありがとうございます!! ルーチンが忙しくてなかなか手をつけられなかったんですが、 これから早速やってみます
補足
できました! が・・・、印刷シートに表示する項目が30項目ぐらいあり、 コマンドボタンを押してから、すべてが表示されるまで非常に時間がかかるため、 元データファイルの行を丸々コピーして印刷シートに持って来たほうがよいでしょうか・・・(印刷用シートのsheet2にデータコピーをして、印刷用シートで必要な情報のみ表示する)。。 再度別質問させて頂きます。