[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロについて』(kysj)
K1セルに1を入力して印刷、2を入力して印刷 nを入力して印刷するマクロを教えてください。
< 使用 Excel:Excel2013、使用 OS:Windows7 >
今入力したシートを印刷するということであれば シートモジュール(シートタブを右クリック->コードの表示)に以下を貼り付け。
Private Sub Worksheet_Change(ByVal Target As Range) Dim num As Variant If Intersect(Target, Range("K1")) Is Nothing Then Exit Sub num = Range("K1").Value If Not IsNumeric(num) Then Exit Sub If num < 1 Then Exit Sub PrintOut Copies:=num, Collate:=True, IgnorePrintAreas:=False End Sub
(β) 2015/05/14(木) 11:10
No.1からNo.n とは シート名ですか? それとも、このシートの中の、領域で、No.1 とか No.2 とかあるということですか? 後者なら、そのレイアウトを教えてください。また、その部分のみを印刷するのですか? あるいはヘッダー部分のようなものがあって、そこもあわせて(くっつけて)印刷するのですか?
(β) 2015/05/14(木) 11:54
質問したのは
・No.1 といったものが シート名ですか、それとも、シート上の領域ですか ということですが その答えはどちらでしょうか?
・後者だとしましょう。マクロとしては、 その領域.PrintOut といったようなコードになります。 でも、「その領域」が、どこなのかわからなければコードが書けませんね。 それとも、このシートに名前定義で No.1 とか No.2 とかいった名前の領域があって そこを印刷ということですか?それならわかりますけど。 (β) 2015/05/14(木) 12:29
質問の方法をかえます。
たとえば 2 といれたい場合。これは No.1 と No.2 を印刷するわけですね。 これをマクロでやらずに、手作業操作でやるとしたら、どのような操作になりますか。 教えてください。
(β) 2015/05/14(木) 12:38
こんなことですか? 先ほどのシートモジュールのコードは消しておいてください。
Sub Test() Dim n As Variant Dim x As Long
n = Application.InputBox("印刷枚数を入力して下さい", "印刷枚数指定", Type:=1) If n = False Then Exit Sub
For x = 1 To n Range("K1").Value = n DoEvents ActiveSheet.PrintOut Next
End Sub
(β) 2015/05/14(木) 13:33
>Range("K1").Value = n
(マナ) 2015/05/14(木) 23:05
マナさん
ご指摘深謝!!!!(汗)
(kysj)さん
Range("K1").Value = x にしてください。
(β) 2015/05/15(金) 00:30
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.