[[20160927154503]] 『マクロで範囲印刷』(初心者) ページの最後に飛ぶ

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

 

『マクロで範囲印刷』(初心者)

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 >


a bの数字がわからないと何も分からないので、お答えください
後、本当は何部印刷したいのですか
(vv) 2016/09/27(火) 15:55

 普通に手動で印刷した場合は1部だけ印刷されるのか?
(ねむねむ) 2016/09/27(火) 15:56

vvさん
a=1、b=2と言うふうに、何番から何番の間を印刷すると言うことです。
(初心者) 2016/09/27(火) 16:00

ねむねむさん

クイック印刷したら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.