こんにちはゲストさん。会員登録(無料)して質問・回答してみよう!

締切り済みの質問

エクセルVBAで

エクセルのVBAでやりたいことがあるのですが、
一枚のシートのセルA1に1が入っているとします。そこで自動でA2に2、B1に3、B2に4といったようにセルの値を一つずつ増やていったものを連番で10枚印刷しようと考えているのですがうまくいきません。ご教授願います。

投稿日時 - 2005-03-18 12:49:10

QNo.1276608

暇なときに回答ください

このQ&Aは役に立ちましたか?

0人が「このQ&Aが役に立った」と投票しています

回答(5)

ANo.5

No4の回答に付け加えます。
' ActiveSheet.PrintOut  は、アポストロフィーを外して下さい。2カ所
回答は、インデントのついた見やすい形にしていたのですが、コピーだと、インデントが無くなるようなので、見難くてすみません。

投稿日時 - 2005-03-18 16:29:57

ANo.4

1枚だけしかシートが無くて、そのシートにA1が1、A2が2、B1が3、B2が4、と入力されているとします。
以下のプログラムで印刷出来ると思いますが、どうでしょうか?

Sub 回答()
Dim i, j As Integer

Worksheets.Item(1).Activate
' ActiveSheet.PrintOut

For i = 2 To 10

Sheets(i - 1).Copy after:=Sheets(i - 1)
'
j = (i - 1) * 5
Worksheets.Item(i).Activate
Range("A1").Value = j
Range("A2").Value = j + 1
Range("B1").Value = j + 2
Range("B2").Value = j + 3
' ActiveSheet.PrintOut
Next i

End Sub

投稿日時 - 2005-03-18 14:56:40

ANo.3

Call 連番設定(Range("A1"), 連番)
Call 連番設定(Range("A2"), 連番)
Call 連番設定(Range("B1"), 連番)
Call 連番設定(Range("B2"), 連番)
を増やせば いくらでも 連番設定できます。


Sub 変な連番挿入印刷()

枚数 = InputBox("印刷部数は?" & vbCr & " 枚数 0 ならキャンセル", 印刷部数, 0)
If 枚数 = 0 Then Exit Sub

連番 = 1 '連番振出し初期化

For 印刷数 = 1 To 枚数
'セルに変な連番設定 必要なだけ追加する
Call 連番設定(Range("A1"), 連番)
Call 連番設定(Range("A2"), 連番)
Call 連番設定(Range("B1"), 連番)
Call 連番設定(Range("B2"), 連番)

'印刷
ActiveSheet.PrintOut
Next

End Sub

Sub 連番設定(セル As Range, 連番)
'連番を配置するセルに 連番を設定
 '変数 連番 は 自動的に +1 する。
Application.EnableEvents = False
セル = 連番
連番 = 連番 + 1 '次の番号
Application.EnableEvents = True

End Sub

投稿日時 - 2005-03-18 14:19:37

ANo.2

A1 に1 , A2 に2 と値を増やすことと、連番で印刷と、どういう関係があるのか分かりません。セルに値を増やすのでしたら、数式などで出来るはずです。

投稿日時 - 2005-03-18 13:21:59

ANo.1

問題の意味がよく分かりません。
A1 A2 B1 B2 そのあとは、C1?
連番で10枚印刷?というのは、10シートを印刷するという意味ですか?

投稿日時 - 2005-03-18 12:57:21

補足

説明がわかりにくくてスイマセン。
印刷の一枚目がA1が1、A2が2、B1が3、
B2が4、の後は2枚目のA1が5、A2が6、
B1が7、B2が8という感じなのですが…
分かりますか?

投稿日時 - 2005-03-18 13:25:01

あなたにオススメの質問