• ベストアンサー

エクセルでマクロを使って印刷を実行する

winXPエクセル2003です。知り合いから頂いた書類の中に印刷範囲がA1からG30までで、そのとなりのあいているところにテキストボックスが3つあって、1枚印刷・2枚印刷・3枚印刷とあります。そこにマウスを持っていくと、クリックできるようになり。きちんと印刷が出来ます。これってどうやって作成するのですか?他のものにも使ってみたいので作成方法を教えて下さい。

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

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

#3です。 もう少しVBAレベルでなく、マクロレベルのやり方を考えて見ました。 (準備) どこか目立たない(印刷範囲外に)ここではF51:F53に 1枚 2枚 3枚 といれる。 G51もなにもいれない、ようにする。 (マクロの記録) #3の通り。ただ最後近くの行 ActiveWindow.SelectedSheets.PrintOut Copies:= は ActiveWindow.SelectedSheets.PrintOut Copies:=Range("G51") とG51セルを指定する。 マクロプログラムの最初と最後の行は Sub Macro1() ・・ End Sub です。 (ドロップダウンリストの貼りつけ) シート上で、メニューバーの余白部で右クリック。 「フォーム」をクリック。 「コンボボックス」をクリック。+が出るからシート上で 印刷範囲外で、右下方向へマウスを引きずる。コンボボックスが現れ出る。 コンボボックス上で右クリック。 「コントロールの書式設定」をクリック。 「コントロール」タブをクリック。 「入力範囲」に「$F$51:$F$53」といれる。 「リンクするセル」に「$G$51」といれる。 (ActiveWindow.SelectedSheets.PrintOut Copies:=Range("G51")のG51と符合する) 「保護」タブをクリック。「ロック」のチェックを外す。 もう一度、コンボボックス上で右クリック。 「マクロ登録」をクリック。 Macro1をクリック。OK。 これでコンボボックスの▼をクリックすると 1枚 2枚 3枚 とでるから、望みの行をクリックすると、印刷が開始されその部数だけ印刷されます。

summer45
質問者

お礼

ありがとうございます。まったくマクロは初めて作成するので、ゆっくりとやってみようかと思います。

その他の回答 (3)

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

(印刷するマクロの本体・本筋) マクロの記録の設定をして後、 ページ設定と印刷をして、マクロの記録を取れば、どう言うコードになるか分かります。 ただどこを修正するのか、慣れて、判る必要はあります。 (イベントの理解) (この場合はテキストボックスの)ダブルクリック等イベントと言うものを理解する必要があります。 (テキストボックスのシートへ貼り付け方) 勿論これを知る必要があります。 (テキストボックスのダブルクリックイベントプロシージャー)ダブルクリックした瞬間のテキストボックスの値は VAL(TextBox1.Text)で取れます。印刷部数はCopiesで設定し、 Copies:=Val(TextBox1.Text)とすると印刷部数を設定できます。 それで Private Sub TextBox1_DblClick(ByVal Cancel As MSForms.ReturnBoolean) Range("A1:G30").Select With ActiveSheet.PageSetup .PrintTitleRows = "" .PrintTitleColumns = "" End With ActiveSheet.PageSetup.PrintArea = "" With ActiveSheet.PageSetup .LeftHeader = "" .CenterHeader = "" .RightHeader = "" .LeftFooter = "" .CenterFooter = "" .RightFooter = "" .LeftMargin = Application.InchesToPoints(0.787) .RightMargin = Application.InchesToPoints(0.787) .TopMargin = Application.InchesToPoints(0.984) .BottomMargin = Application.InchesToPoints(0.984) .HeaderMargin = Application.InchesToPoints(0.512) .FooterMargin = Application.InchesToPoints(0.512) .PrintHeadings = False .PrintGridlines = False .PrintComments = xlPrintNoComments .PrintQuality = 360 .CenterHorizontally = False .CenterVertically = False .Orientation = xlPortrait .Draft = False .PaperSize = xlPaperA4 .FirstPageNumber = xlAutomatic .Order = xlDownThenOver .BlackAndWhite = False .Zoom = 100 End With ActiveWindow.SelectedSheets.PrintOut Copies:=Val(TextBox1.Text) End Sub しかしVBAが初めての方には、エラーが出たときの、見つけ方や修正方法をOKWEBで伝えることが難しく、ある程度の勉強が先だと思います。 >テキストボックスが3つあって、1枚印刷・2枚印刷・3枚印刷とあります これを読むと、テキストボックスではなく、コンボボックスかリストボックスのようですが。 そう言う段階では、まずVBAの本を読み始めましょう。

  • mshr1962
  • ベストアンサー率39% (7418/18948)
回答No.2

テキストボックスに文字を入力して、右クリックで「マクロの登録」を選択しているだけです。 マクロの自体は、「ツール」「マクロ」「新しいマクロの記録」で 印刷時に部数を指定して印刷したものだと思いますよ。 (もしかしたら印刷範囲の指定もあるかもしれませんが...)

  • matrix4
  • ベストアンサー率16% (118/704)
回答No.1

マクロ記録で、一枚印刷で、記録しボタンで指定する。 2枚印刷でも同様記録する。 操作を記録すると、できるのでは・・ ツール、マクロ、新しいマクロの記録、開始、操作、 終了 で簡単なものならできます。

関連するQ&A

  • エクセル2010で印刷

    エクセル2010で作成した表(数字記入)を範囲を指定して 印刷ができません。印刷したいところマウスで範囲指定しファイルより 印刷をクリックしてもプリンタ画面が表示されないので、選択対象が できません。以前(2000)のエクセルではできていたのですが。Windowz7 です。教えて下さい。宜しく。

  • VBAで動的に印刷範囲を設定する方法について

    ExcelのVBAを使って資料を作成しています。 一部テキストボックスを貼り付けているのですが、 テキストボックスのサイズが動的なため、そのサイズにあわせて 印刷範囲を設定をおこないたのですがVBAでの設定方法がわかりません。 例) テキストボックスの下の文字は印刷範囲外にしたいため、 図1の場合、印刷範囲を"A1:C7" 図2の場合、印刷範囲を"A1:B6" にしたいです。 アドバイスをお願いいたします。

  • 印刷できません・・・

    仕事でエクセルで表を作成しています。 テキストボックスで数字を入力した所が印刷されません。 プレビューではきちんと表示されています。 また、普通にセルに入力した文章などもプレビューではきちんと 表示されますが、印刷をすると欠けていたりします。 A3で作成しています。 プレビューではきちんと表示されているのに印刷すると 欠けてしまったり、抜けてしまっている理由が分かりません。 テキストボックスをもっと大きくした方がいいのでしょうか? (今は数字ギリギリのサイズにしています。) 印刷範囲にはきちんと入っています。 説明不足のところは補足します。 よろしくお願いします。

  • EXCEL のマクロ教えてください。

    Sheet1 に以下のデータがあります。 A    B     C    D        E       F        G  1  小泉純一郎  男  111-1111   東京都・・   03-3111-****   総理大臣 2  石原慎太郎  男  111-2222   東京都・・   03-3222-****   都知事  3 ・ ・ データはA1~G100程度あるとします。 ユーザーホームにはテキストBOX1からテキストBOX5まであります。 B列にある1つの名前をテキストBOX1に入力すると、 テキストBOX2からテキストBOX5に入力した行のCからGまでの データを表示させるのにはどうすればいいでしょうか御教授ください。 EXCEL2000です。

  • エクセルで印刷されないセルの表示の仕方???

    WinXPエクセル2003です。他の人からエクセルのデータを頂いて、開くと、A1のセルに画面上では表示されている文章が(四角で囲まれいますがテキストボックスではないような…)印刷プレビューでは表示されていません。どうやったらこういうことが出来ますか?右クリックの「コメント」ではないようです。あと他のセルに移動すると、文章は消えます。ドラックもできますが、この文章自体はA1のセルのときだけ表示されます。

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

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

  • Excelで印刷プレビューと標準表示の見え方の違い

    こんにちは。 Excelで表を作成しています。 普段表を作成するときって、「標準表示」の状態で作成しますよね。 そのときは、セルの中や、テキストボックスの中にちゃんと 文字が収まっているのに、実際印刷したり、印刷プレビュー画面で確認すると、文字がセルからはみ出していたり、テキストボックス内に収まらなくて文字が隠れてしまったりしてしまうんですが、 これって、どうしようもないことなんでしょうか。 いちいち印刷プレビューで確認しないといけないのが、 かなり面倒なんです。 よろしくお願いします。

  • Excel 印刷範囲の設定について

    こんにちは。 Excelで印刷範囲の設定をしたいのですが、下記2つの方法の違いを教えて下さい。バージョンは2007です。 1、印刷範囲(A1:C5とします)をドラッグして、ページレイアウトタブのページ設定グループの印刷範囲ボタンで印刷範囲の設定を選択する。 2、ページ設定ダイアログボックスのシートタブの印刷範囲のボックスをクリックしたあと印刷範囲(A1:C5)をドラッグする。 上記の方法でやってみたところ、2の方法でやった場合に$A$1:$C$5のように、絶対参照になってしまいます。なぜでしょうか? 1と2の違い(絶対参照になる理由)は何でしょうか? 絶対参照にする意味はないと思うんですが…アドバイスよろしくお願いします。

  • エクセル2007 テキストボックスの印刷をしない

    エクセル2007を使用しています。 テキストボックスを印刷しないようにするためボックス上で右クリックをしますが、 「書式設定」がでません。 「図形の書式設定」しか出ず「印刷をしない」という指定ができません。 他の回答を見ますと右クリックで「書式設定」が出るとありますが、 どうすれば可能ですか教えてください。

  • エクセル印刷時のズレ

    昔から思っていたのですが、エクセルで画面遷移のフローとかを書いていると、印刷時にずれませんか? 画面上ではテキストボックスからテキストボックスへ、矢印で繋げているのに、印刷するとあらぬところからあらぬところへ矢印があったりして。 ちゃんとなってるところもあるし、なってないところもあるし、いったいどうすればちゃんとなるのか、さっぱりわかりません。 パワーポイントで作成すればいいのでしょうが、パワーポイントではちょっと狭すぎますし…。 エクセルで、この問題が解決できないとすれば、代わりになるようなアプリケーションソフトってないでしょうか。

専門家に質問してみよう