[[20171002151329]] 『VBA 印刷設定について』(T17) ページの最後に飛ぶ

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

 

『VBA 印刷設定について』(T17)

お世話になります。
VBAでの印刷について基本的なところを教えてください。
(例)
Sub test_印刷()
With Sheets("sh11")

	.PageSetup.PrintArea = .Range("A1:C5") 
	.Range("A1:E10").PrintPreview 
End With
End Sub

上のコードを実行すると、"A1:E10"が印刷プレビューされます。
しかし、印刷設定は"A1:C5"なんで、"A1:C5"をプレビューしてほしいところです。
実行結果が「正しい」とすると、そもそも最初の設定行は不要では?と思ったしだいです。
何か根本的なところがわかっていないのでしょうか?

< 使用 Excel:Excel2010、使用 OS:Windows7 >


 手で印刷する場合も「作業中のシートを印刷」、「ブック全体を印刷」だと設定された印刷範囲の
 プレビューが表示されるが「選択した部分を印刷」だと印刷範囲で設定した範囲は無視されるようだが。

(ねむねむ) 2017/10/02(月) 15:33


 印刷範囲を印刷したいのであれば
 >.Range("A1:E10").PrintPreview 
 を
 >.PrintPreview 
 で。
(ねむねむ) 2017/10/02(月) 15:35

ねむねむ様、 早々にありがとうございます。

>.PrintPreview<にすると、ページ全体がプレビューされてしまいますが。
それとも、このまま印刷すると設定範囲のみが印刷されるのでしょうか?
(すみません、印刷できる環境にないもので..)
(T17) 2017/10/02(月) 16:06


 原因が分かった(と思う)
 >.PageSetup.PrintArea = .Range("A1:C5") 
 は
 >.PageSetup.PrintArea = .Range("A1:C5").Address
 プリントエリアにはセル参照を示す文字列を設定する。
 >.PageSetup.PrintArea = .Range("A1:C5") 
 でA1セルが空白のためプリントエリアがクリアされているのでは?
(ねむねむ) 2017/10/02(月) 16:21

 ああ、
 >.PageSetup.PrintArea = "A1:C5"
 でもいいか。 

(ねむねむ) 2017/10/02(月) 16:28


ねむねむ様、 ありがとうございます。

>プリントエリアには「セル参照を示す」文字列を設定する

初歩的なミスでしたか...(呆然 _ _;)

お時間とらせて申し訳なかったです。 以後気をつけます。
これからもよろしくお願いいたします。
(T17) 2017/10/02(月) 16:54


コメント返信:

[ 一覧(最新更新順) ]


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