[[20041115130103]] 『条件によって印刷範囲を変えて印刷する』(MIU) ページの最後に飛ぶ

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

 

『条件によって印刷範囲を変えて印刷する』(MIU)

いつもお世話になっております。

早速ですが、次の条件によって印刷範囲を変更して印刷をするマクロを作りたいのですが

途中までサイト等を見ながら自分なりに作成してみたのですが、うまく動きません。

アドバイスお願いできればと思います。

宜しくお願い致します。

条件:「J4」のセルに入力があった時、コマンドボタン「印刷」を押すと

セル「A1:N38」とセル「O3:R14」までをA4計2枚に印刷する。

また「J4」に入力が何もない時は、「A1:N38」の範囲のみA4に1枚印刷する。

下記が自分なりに作ってみたマクロです。

初心者なもので、プログラムの基礎があまりよくわかってない所が多々ありますが、

何卒アドバイスの程、宜しくお願いします。

Private Sub 印刷_Click()

If Range("J4").Value = "" Then

    ActiveSheet.PageSetup.PrintArea = ""
    ActiveSheet.PageSetup.PrintArea = "$A$1:$N$38"
    ActiveWindow.Selection.PrintOut copies:=1, collate:=True
Else
    ActiveSheet.PageSetup.PrintArea = ""
    ActiveSheet.PageSetup.PrintArea = "$A$1:$N$38"
    ActiveSheet.PageSetup.PrintArea = "$O$3:$R$14"
    ActiveWindow.Selection.PrintOut copies:=1, collate:=True
End If
End Sub

[エクセルのバージョン]Excel2003

[OSのバージョン]
WindowsXP


 こんなかんじでは?

 Private Sub 印刷_Click()
 With ActiveSheet
    If .Range("J4").Value = "" Then
        .PageSetup.PrintArea = "$A$1:$N$38"
        .PrintOut copies:=1, collate:=True
    Else
        .PageSetup.PrintArea = "$A$1:$N$38,$O$3:$R$14"
        .PrintOut copies:=1, collate:=True
    End If
 End With
 End Sub

  (INA)


INA様

いつもありがとうございます。

早速、試してみたところうまく動きます。

ありがとうございます。

ちなみに、With ActiveSheet というのは、全ての行にActiveSheetを

使用してる様な感じになるんですか?

MIU


 そうです。
 . で始めると、省略できます。
 with ステートメント といいます。
  (INA)


INA様

お返事ありがとうございます。勉強になりました。

また、使いこなせれるようにがんばります。

MIU


 ----2007/9/14-----

数値を変数にするにはどうすればいいんですか?

sub A ()

a1 = InputBox("何枚目を印刷しますか?")

B = 42 * a1

b1 = B - 41

D = 42 * a1

ActiveSheet.PageSetup.PrintArea = Range(Cells(b1, "A"), Cells(D, "h"))
With ActiveSheet.PageSetup
.Zoom = False
.FitToPagesWide = 1
.FitToPagesTall = 1
.CenterHorizontally = True
End With
End Sub

結果戻り値が出てきません。


 大分時間がたってしまいましたが、まだ見て居られますか?

 >結果戻り値が出てきません。
 と言うのはどういう事ですかね?

 Sub BBB()

 a1 = InputBox("何枚目を印刷しますか?")

 B = 42 * a1
 b1 = B - 41
 D = 42 * a1

 Range(Cells(b1, "A"), Cells(D, "h")).Activate
 End Sub

 こんなのを実行した時選択される範囲が希望する範囲と異なる
 と言う事ですかね?

 なお、コメント記入の際は その都度ご署名を御願いしますね。

 (HANA)

コメント返信:

[ 一覧(最新更新順) ]


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