アプリ版:「スタンプのみでお礼する」機能のリリースについて

こんばんわ。

Excel VBAの設定について,質問です。
Officeのバージョンは,2007です。

例えば…
セルA1の番号を,印刷設定された番号を最初として,
数字を変更しながら,印刷設定された枚数分印刷する。
といった設定はどの様にするのでしょうか?
色々試してみたのですが,うまくいかなくて…

印刷設定
2~5 だった場合…
セルA1を2→3→4→5と変更しながら
合計4枚印刷したい。

どうぞ,よろしくお願いします。

A 回答 (2件)

どこでどのように「2~5」を指定するか?ですね。


いわゆる印刷部数での指定は難しいと思いますよ。

ごくごく簡単にやるとしたら、「○」~「●」を指定するセルを作ってしまうか、
インプットボックスを2回使って指定するか、
ユーザーフォームを作るか・・・
で、For ○ to ● で繰り返し印刷するのが一番簡単かと思います。

例えば、印刷範囲を2行目以降に・・つまり
> セルA1を2→3→4→5と変更しながら
これをA2セルとして、それ以降を印刷範囲に設定、
B1セルに「開始番号」を、E1セルに「終了番号」を入力するようにし、
以下のようなコードを。

Sub Test()
    For i = Range("B1").Value To Range("E1").Value
        Range("A2").Value = i
        ActiveWindow.SelectedSheets.PrintOut Copies:=1
    Next i
End Sub

まぁ、単純に考えるのが多分一番早いですよ。
「エクセル Excel VBA 条件つき印」の回答画像1
    • good
    • 0
この回答へのお礼

さっそく,ありがとうございます。
Forで試していたのですが,なかなかうまくいかなったんですが
もう少し,いただいた内容を参考に考えてみたいと思います!

お礼日時:2013/01/12 23:11

こんばんは!


一例です。

シートモジュールにしていますので、
画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に
↓のコードをコピー&ペーストしてマクロを実行してみてください。

Sub 印刷()
Dim i As Long, k As Long, cnt As Long
k = Application.InputBox("印刷枚数を入力してください。")

If Range("A1") <> "" And IsNumeric(Range("A1")) Then
Do Until cnt = k
ActiveSheet.PrintOut
cnt = cnt + 1
Range("A1") = Range("A1") + 1
Loop
Else
MsgBox "A1セルが、未入力か不正なデータです。", vbOKOnly
Range("A1").Select
End If
End Sub

こんな感じではどうでしょうか?m(_ _)m
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
なるほど…勉強になります。
参考にさせて頂きたいと思います!

お礼日時:2013/01/12 23:13

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!