• ベストアンサー

excelで印刷用のマクロを作りたい。

お世話になります。 excelでわからない事があり、困っています。    A            B        C 1 書類ナンバー   担当者   部署名 2   1           田中    総務部 3   2         鈴木    人事部 4   3         大山    営業部 5   4         西田    マーケティング部    この様な表があり、A列の書類ナンバーで範囲を指定して、その範囲だけを印刷できるようにしたいです。 範囲指定方法は、指定したセルに入力する、またはポップアップに入力する、どちらかにしたいと考えています。 この様にしたいのですが、やり方を教えて頂けないでしょうか。 よろしくお願い致します。

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

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.3

マクロの記録実行してみると、手がかりが出てきますよ。 Sub Macro1() Range("B2:E2").Select'2行目に項目がある i = InputBox("最初の番号を入れてください") j = InputBox("最後の番号を入れてください") Selection.AutoFilter Selection.AutoFilter Field:=1, Criteria1:=">=" & i, Operator:=xlAnd, _ Criteria2:="<=" & j With ActiveSheet.PageSetup .Zoom = 70'印刷の設定の部分 End With ActiveWindow.SelectedSheets.PrintPreview Selection.AutoFilter End Sub 試していませんが、大丈夫かと、内容理解して応用してください。

akito-1
質問者

お礼

ありがとうございます。 できました!!

その他の回答 (2)

  • imogasi
  • ベストアンサー率27% (4737/17068)
回答No.2

指定した範囲を印刷する、普通の印刷する操作が、エクセルの印刷にある。 これをマクロの記録をとっって、良く見てから質問すること。 その場その場で変える場所は何処か、それを実現するコードを作るのは全く歯が立たないのか、考えてからのここへ質問してこそ、この質問コーナーを生かせる。 この質問ではやりたいことを丸投げしただけ。 ーー 推測では 番号体帯ーー>セル範囲を割り出すのが課題かな? それより、別シートへ印刷したい行を抜き出し、別シート全行印刷という考えも取れるかもしれない。 それと初心者のうちは、使用者とのインターフェイス(>ポップアップに入力するのようなことに)に凝らないようにしたほうが良い。 他人に使ってもらうものを作るのはVBAに熟練した相当先だと思う。

akito-1
質問者

お礼

ありがとうございます。 お二人の答えを参考にしてなんとか思い通りの動きになりました!

akito-1
質問者

補足

すみません。excelは、ほとんど使った経験が無いのですが、急に上からこんな物を作ってくれといわれたので・・・ 別シートに抜き出す印刷方法も良いかもしれませんね。 おっしゃるとおり、セル範囲の選択方法がわからないです。 上記のVBAを参考にして、ある程度は出来ました。 Sub Macro1() Range("A2:I65536").Select i = InputBox("番号を入れてください") k = InputBox("番号を入れてください") Selection.AutoFilter Selection.AutoFilter Field:=1, Criteria1:=">=2", Operator:=xlAnd, _ Criteria2:="<=5" With ActiveSheet.PageSetup .Zoom = 70 End With ActiveWindow.SelectedSheets.PrintPreview Selection.AutoFilter End Sub ここまで書きましたが、範囲の指定方法がわかりません。 6行目のCriteria1:=">=2"の部分の数字の2を、iのInputBoxに入れた任意の数字に、Criteria2:="<=5"の5をkのInputBoxに入れた任意の数字に変更したいです。どこを直せば良いのでしょうか?

  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.1

マクロの記録で 1 A~C列選択 オートフィルター 2 適当に2でフィルターかける 3 印刷プレビュー  4 オートフィルター解除 以下で記録されたVBAにINPUTBOXと iという変数使用しました。 Sub Macro1() Range("A:E").Select i = InputBox("番号を入れてください") Selection.AutoFilter Selection.AutoFilter Field:=1, Criteria1:=i ActiveWindow.SelectedSheets.PrintPreview Selection.AutoFilter End Sub

akito-1
質問者

補足

回答ありがとうございます。 まだ少しわからない事があるので、教えて頂ければと思います。 このマクロですと、一列目の書類ナンバーや担当者、部署名はそのまま印刷されますが、これらが二列目にあった場合同じよう同じ様に印刷するには、どう変更すればよろしいのでしょうか?? また、書類ナンバーの2~4まで等、複数範囲を指定したい場合はどうすれば良いのでしょうか? それと、印刷倍率を70%になる様に出来ればと思うのですが可能でしょうか?? よろしくお願い致します。

関連するQ&A

  • エクセルマクロ

    お世話になります。 どなたか知恵をおかしください! ”Sheet1”にある表 A列  B列(役職) 田中 総務 藤田 会計 桂山 人事 松田 仕入れ 谷本 生産 鈴木 販売 ”Sheet2"にある表 田中 森田 河合 池田 佐々木 谷本 ・・・ " Sheet2に入力した氏名がSheet1に存在する時。 該当するSheet1のA列(氏名)・B列(役職)の背景を黄色に 色付けするマクロを教えてください。 来週には仕上げなければならないのですが、ヒントがみつからず。 宜しくお願い申し上げます。  

  • エクセルのマクロについて

    パソコン初心者です。 たとえば シート1のA1に「田中」と入力する。 ボタンを押すとシート2のA1に「田中」と表示される。 次にシート1のA2に「山田」と入力する。 ボタンを押すとシート2のA1に「山田」と表示される。 次にシート1のA3に「鈴木」と入力する。 ボタンを押すとシート2のA1に「鈴木」と表示される。 このようにマクロを組むにはどのようにしたらよいのでしょうか? わかりにくくてすいません。

  • EXCELマクロVBAについて

    Excel2007、XPを使用しています。 AからE列に下記のような情報が入力されています。 A / B / C / D / E ID / 名前 / 住所 / 電話 / 注文日 11111 / 田中 / 東京都 / 00000000000 / 2012/08/10 11111 / 田中 / 東京都 / 00000000000 / 2012/08/09 11111 / 田中 / 東京都 / 00000000000 / 2012/08/18 11112 / 佐藤 / 京都府 / 00000000000 / 2012/08/10 11113 / 鈴木 / 北海道 / 00000000000 / 2012/08/11 11113 / 鈴木 / 北海道 / 00000000000 / 2012/08/15 A列のIDでくくったとして、 E列の注文日が最大のみの行を表示させたいです。 A / B / C / D / E ID / 名前 / 住所 / 電話 / 注文日 11111 / 田中 / 東京都 / 00000000000 / 2012/08/18 11112 / 佐藤 / 京都府 / 00000000000 / 2012/08/10 11113 / 鈴木 / 北海道 / 00000000000 / 2012/08/15 このようなことはマクロで可能なのでしょうか? 恐れ入りますがご教授お願い致します。

  • 【エクセル】一覧の値を複数シートの決まったセルに表示させたい。

    いつもお世話になっております。 [Sheet1]の一覧の値を、複数シートの決まったセルに表示させたいと思っております。 [Sheet2]から[Sheet1]のデータを引っ張ってくるような 数式などありましたら教えて下さい。 ex)[Sheet2]の(B1)に鈴木、(B2)総務部と表示させたい。 ex)[Sheet3]の(B1)に佐藤、(B2)人事部と表示させたい。 ()内の文字はセルの名前です。 宜しくお願いします。 ↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓↓ [Sheet1] (A1)シート名 (B1)名前 (C1)部署名 (A2)Sheet2  (B2)鈴木 (C2)総務部 (A3)Sheet3  (B3)佐藤 (C3)人事部 [Sheet2] (A1)名前  (B1)鈴木 (A2)部署名 (B2)総務部 [Sheet3] (A1)名前  (B1)佐藤 (A2)部署名 (B2)人事部

  • Excel マクロ 抽出 フィルタ 別シート

    マクロは記録しかできない初心者です。 たとえば、 田中 6月 ナシ 12 鈴木 4月 林檎 23 安部 5月 葡萄 34 田中 5月 イモ 12 鈴木 7月 エビ 23 というデータがあって、別シートに「田中」だけのデータを抽出したい場合はどのようなマクロを組めばよいですか。 田中 6月 ナシ 12 田中 5月 イモ 12 しかも、その検索するデータを入力すると検索できるようにしたいのですが。たとえば、 A1に田中←と入力するとそれ以下に 田中 6月 ナシ 12 田中 5月 イモ 12  と抽出されるようにしたいです。 マクロ初心者ですので、詳しく説明をいただければ幸いです

  • エクセルで印刷範囲を自動で指定し、印刷するマクロ

    エクセルの表の中から、ある特定の文字が入っている セルを探し、そのセルから「下に3、右に2」の範囲 (文字が入っているセルは含まない)を自動的に範囲 指定して印刷するマクロをつくりたいのですが、どうすればよいでしょうか? たとえば、「○」が入力されているセルが A2だとすればA3からC5を自動的に範囲指定して印刷 するようにしたいのです。 どうぞよろしくお願いします。

  • Excel置換?

    A1に010と入力すればA1に田中、020なら鈴木、030なら岡田と 入力できるようにするためにはどのようにすればよいのでしょうか? 関数で代用できるのですか?いろいろググってみましたが、なかなか良い方法が見つかりませんでした。どなたか助けて下さい! お願いします。

  • excelで検索用シートを作りたい。

    お世話になります。 excelでわからない事があり、困っています。 検索用シート      データシート    A  B      A    B   C 1 部署名 (空欄)  1 部署名 担当者 書類名 2 担当者 (空欄) 2 総務部 鈴木  新人用の書類 3 書類名 (空欄) 3 人事部 田中  部長の書類 上図の様に検索用シートとデータ用シートが同じBook内にあります。 検索用シートのB列は空欄になっており、例えば(1-B)に検索したい部署名の一部、又は全てを入れると、(2-B)及び(3-B)にその部署名に対応した、担当者、書類名が表示 される。 また、検索結果が複数ある場合には、上のものから順々に検索用シートの空欄に表示される。 部署名での検索以外にも、同様に担当者、書類名でも検索できる。 この様な仕様にしたいのですが、どのすれば良いでしょうか? どうぞよろしくお願い致します。

  • エクセルのCOUNTIF関数について質問です。

    エクセルのCOUNTIF関数について質問です。 例えば下記のように入力されているとき、「田中」が含まれるセルを数えるとき、Sheet2のB1の列には「=COUNTIF(Sheet1!A:A,"*田中*")」と入力すればいいと思いますが、「"*田中*"」の部分を「A1」、上田の場合は「A2」とする場合はどうすれば良いでしょうか? <Sheet1>   A 1 上田夫妻 2 田中兄弟 3 田中太郎 4 田中さん 5 鈴木姉妹 <Sheet2>   A   B 1 田中 2 上田 3 鈴木

  • Excel2007 検索方法

    Excel2007で、指定した範囲にいくつの種類のデータが入力されているのかを検索する関数は何でしょうか? 例えば、A1:D100の範囲内で、各セルに「鈴木」「佐藤」「田中」「高橋」等々名前を入力しています。また、この名前は同じものがいくつも入力されています。 検索したいのは、いったい何人の名前が入力されているかを関数を使って検索したいのです。 言いたいことはわかりますでしょうか。解らなければ補足しますので、よろしくお願いします。

専門家に質問してみよう