[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロで範囲印刷』(初心者)
15部ずつ印刷されてしまいます。
VBAで以下のように設定
何が間違っているのでしょうか、、、
Sub 範囲印刷()
Dim a, b As Integer
Sheets("進捗表").Select
a = Range("AB1") b = Range("AC1")
For n = a To b Range("AB3") = n ActiveSheet.PrintOut Next End Sub
< 使用 Excel:Excel2010、使用 OS:unknown >
普通に手動で印刷した場合は1部だけ印刷されるのか? (ねむねむ) 2016/09/27(火) 15:56
クイック印刷したら15部でてきました。
設定は、1部なのに、、、、
(初心者) 2016/09/27(火) 16:02
ファイル-印刷-プリンターのプロパティでプリンタドライバの設定のほうを確認してみてくれ。
もし、Excel以外でも15部印刷される場合はWindowsのスタートメニューからデバイスとプリンタでプリンタドライバの 設定の確認を。 (ねむねむ) 2016/09/27(火) 16:10
かぶったけど回答。
印刷部数が15になっているんじゃないの?
特定のシートでいつも複数部数の印刷になってしまう、印刷の設定について http://www.helpforest.com/excel/1_book/ex010045.htm
ちなみに × Dim a, b As Integer ○ Dim a As Integer, b As Integer または Dim a As Long, b As Long (bi) 2016/09/27(火) 16:12
biさんのリンク先だとページ設定を開きそこからオプションを開いているがページ設定を開かずともプリンターのプロパティで 同じ設定画面となる。 (ねむねむ) 2016/09/27(火) 16:17
設定が15部になっていました、普通に印刷部数は1部になっていましたが、ページ設定のオプションでは15部でした。
なぜ???
× Dim a, b As Integer これでも問題なく印刷できましたよ。 (初心者) 2016/09/28(水) 08:53
>> × Dim a, b As Integer これでも問題なく印刷できましたよ。
はい。そうですね。でも、「たまたま」といっていいんです。
質問者さんは Dim a,b As Integer という記述で a 「も」b「も」Integer になると、そう思って記述していますよね? でも、この場合、b は Integer になりますが、a は Variant型になります。 データ型は1つずつ規定する必要があります。あれも、これも、まとめて Integer という書き方があれば便利かもしれませんが できません。
で、Variant の場合、すべてのデータ型をサポートしますので、そこに Integer型の数値を代入すれば 内部的に Integer になり、処理上問題なく動くというだけのことです。
だから、それでいいじゃないか! といわれそうですね。 でも、そうであれば Dim a,b でもいいわけですね。 aもbもVariant型になりますから。 (b だけは、Integerにしたいという強い意図がなければ)
(β) 2016/09/28(水) 09:01
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.