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

リスト一覧表から作成した申請書を連続印刷していますが、連続保存したいです。
新しいワークブックに保存したいです。

以下は連続印刷のマクロです。内容をどう変えるのかわかりません。

Sub rennzoku ()

Dim i As Interger
For i 1 to Cnt
Range(“A1”).value = i
Activesheet.PrintOut preview :=True
Next i

End sub

エクセル詳しくありません。ネットで検索しましたがうまく探せませんでした。どうぞよろしくお願いします。

A 回答 (3件)

>Cnt値は1から50です


いやいや  1から50になるのは i でしょう
Cnt は50 ですが 初期値の設定がないから いけないのです
For の行の前に 挿入して Cnt = 50 をいれなきゃ
    • good
    • 0

No1です。



失礼しました。
再度読み直して、A1セルの値を変えると、シート全体が(関数等で)自動的に書き換わる仕組みになっているらしいと理解しました。
(まぁ、Cntに初期値がないことには変わりがないですけれど)

シート内が関数式だらけだと、関数式のままコピーされますけれど、それでも良いものとして・・・

Set old = ActiveSheet
ActiveSheet.Copy
ActiveWorkbook.SaveAs Filename:="hoge"
ActiveWorkbook.Close SaveChanges:=False
old.Activate

ってな感じで可能と思います。
ファイル名を適宜設定する部分に関しては不明なので何もしていません。
(上記のままだと同じ名前で上書きされます)
    • good
    • 0
この回答へのお礼

説明がひどいにもかかわらず、ご理解いただきありがとうございます。Cnt値は1から50です。
おっしゃるとおり、関数がたくさん入っていますが、いただいたものでうまくいきました。
ありがとうございました。

お礼日時:2020/06/04 18:01

こんにちは



>以下は連続印刷のマクロです

う~~ん。
連続印刷になっていないし(プレビューなのは良いとしても)、仮に動作したとしても同じシートを印刷するだけでは?
実際にはループもしないので、ご提示のコードを実行しても「何もしない」ことになっていると思いますけれど・・・?
それとも、Cnt って共通変数になっていたりでもするのでしょうか?

一方で、
>リスト一覧表から作成した申請書を連続印刷していますが、連続保存したいです
もしもそれができているのなら、その処理内に「保存処理」を追加すれば宜しいでしょう。

印刷したシート(例えば変数:sheet00 とします)に対して、印刷直後にでも
 sheet00.Copy
とすれば、そのシートだけ新しいブックとしてコピーされます。
作成されたブックに名前を付けて保存すれば良いので
 Activeworkbook.SaveAs Filename:="hoge"
 Activeworkbook.Close SaveChanges:=False
みたいな感じで実現できるものと思います。
(ファイル名は適当にアレンジしてください)

丁度MSDNのサイトにほぼ同様の例がでています。
(以下のページの「例」の2番目)
https://docs.microsoft.com/ja-jp/office/vba/api/ …
    • good
    • 0

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