[[20040124193926]] 『シート上に印刷ボタンをつけたい』(か) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『シート上に印刷ボタンをつけたい』(か)

エクセルシート上に印刷ボタンをつけたいのですが
どのようにしたら良いのでしょうか。

完成のイメージでは sheet2の情報を sheet1につけた印刷ボタンで
印刷できるようにしたいのですが・・・。

一応自分で思うには、コマンドボタンでボタンを作るのかなあとは
思うのですがそこから先がわかりません。

よろしくお願いします。


 ボタンには
 コントロールツールボックスのコマンドボタンと
 フォームのボタン
 の2種類があります。

 前者の場合、ボタンを配置した後、ダブルクリックするとクリックイベントの
 プロシージャが表示されますので、

 Private Sub CommandButton1_Click()
    worksheets("Sheet2").printout
 End Sub

 として下さい。

 後者の場合、ボタンにマクロを登録することになるので、
 1.ALT+F11キーで、VBEを起動
 2.挿入−標準モジュール
 3.標準モジュールのコードウィンドウに以下のコードをコピペ
 4.EXCELに戻って、ボタンにマクロ(sample)を登録する。

 Sub sample()
    worksheets("Sheet2").printout
 End Sub

   (INA)


INAさんありがとうございました。

 >Private Sub CommandButton1_Click()
 >    worksheets("Sheet2").printout
 > End Sub

 でうまくいきました。

 すいませんもう一点教えて戴きたいのですが、

 ・ボタンを押したときに印刷するシートを
  「Sheet1」と「Sheet2」にする場合はどうすれば良いですか?

 ・またSheet2 を印刷するときに、印刷範囲が広くなってしまっても
  両面印刷になるようにして紙の節約をするにはどうやったら良いでしょうか。

 この2点が解決したら私の抱えている問題はクリアできそうです。
 お手数ですがよろしくおねがいします。

(か)


 >「Sheet1」と「Sheet2」にする場合はどうすれば良いですか?

 Private Sub CommandButton1_Click()
     worksheets("Sheet1").printout
     worksheets("Sheet2").printout
 End Sub

 で如何でしょうか?

 >またSheet2 を印刷するときに、印刷範囲が広くなってしまっても
 >両面印刷になるようにして紙の節約をするにはどうやったら良いでしょうか。 
 両面印刷はEXCELの機能ではなく、プリンタの機能(プリンタドライバ)によるものなので
 VBAでは制御できません。
 もしかしたらSendkeysでキー操作を送れば出来るかもしれませんが、
 安定した動作は望めませんし、現実的ではないと思います。

 縮小するか用紙サイズ変更(A4→A3)のようにするしかないと思われます。

  (INA)


ありがとうございました。

(か)


なぜかはわからないのですが上記の設定をしたエクセルが開かなくなりました。

他のエクセルファイルは開きます。

なぜなのでしょうか。

(か)


 >開かなくなりました。
 どのようにですか? 
 操作手順と画面の状況を正確に教えて下さい。

  (INA)


なおりました。

お騒がせしました。

すいません。 もう一個お願いします。

ボタンに表示する文字の表示を2行にしたいのですがどのようにしたら良いですか? (か)


 プロパティウィンドウだと設定できないので、
 マクロを実行して設定してください。

 Sub myName()
    Worksheets("sheet1").CommandButton1.Caption = "1行目" & Chr(13) & "2行目"
 End Sub

  (INA)


INAさんに教えていただいたようにシート上に印刷ボタンつくりました。

 ありがとうございました。

 ですが、また続きができてしまいました。(何度もすいません。)

 上記のようにつくった印刷ボタンを押すと「本当に印刷しますか? 」というメッセージが
 ポップアップで表示され そのポップアップウィンドウの中の「はい」を押すと
 印刷が始まり、「いいえ」を押すとポップアップは消えるという仕掛けにしたいのですが、
 どのようにしたらいいのでしょうか? (か)

 横からすいません。
worksheets("Sheet1").printoutの前に
con = MsgBox("本当に印刷しますか?", vbYesNo)
If con = vbNo Then Exit Sub
こんな感じでどうでしょうか?(ケン)

ケンさんありがとうございました。

 もう一点教えていただいてよいでしょうか。

 新たにボタンを作成し、そのボタンを押すと特定のセル(例えばC1セルとかC1〜F1セル)
 についてはコピペでは文字入力できなくて、
 手で入力の時のみ文字入力されるようにしたいのですが
 どうやったら良いでしょうか。 (か)

 ちょっと判定が面倒な処理になりますので、具体的な仕様を教えていただけますか?
 とくにセルの範囲や解除方法など。
 またON/OFFするならコマンドボタンでなく
 トグルボタンやチェックボックスを使うのが一般的です。

  (INA)

 例えば

     a     b  c
 1  あ  こ
 2  い  さ
 3 う  し
 4 え  す
 5 お  せ
 6 か  そ
 7 き  た
 8 く  ち
 9 け  つ 

 というデータがあって

 a1〜a9 までをコピーして c1〜c9までにペーストして
 表をつくることがほとんどなのですが、

 時々

     a     b     c
 1  あ  こ     あ
 2  い  さ    い
 3 う  し    う
 4 え  す    え
 5 お  せ    お
 6 か  そ   かカka
 7 き  た    き
 8 く  ち    く
 9 け  つ    け

 という表を作り、C列だけ印刷する事があるので、
 何かボタンを押すと C6セルだけは a6セルの値がペーストされずに
 空欄のままとなり、必ず手入力で かカka と入力したいのです。

 どのように状況を判断すればよいのか理解できておりません・・・(-_-;)
 どの部分をマクロ化して自動処理すればよいのでしょうか?

 >何かボタンを押すと 
  マクロを実行すると?

 >C6セルだけはa6セルの値がペーストされずに
 このセルの指定方法はなくて、かならずC6?(6行目)でしょうか?  

 >空欄のままとなり、必ず手入力で かカka と入力したいのです。
 A1:A5,A7:A9 を C1:C5,C7:C9 にコピペするだけ・・?

 どのような問題を解決したくて、マクロで処理したいのか
 目的を教えて頂けないでしょうか? 

  (INA)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.