- 締切済み
エクセルで連続印刷
エクセルで連続印刷をしたいです。 調べてみて、以下の過去の回答が私のしたいことであり、 真似してみました。 sheet2上の変化はまったくなく、最後の実行を押すと ✖400とでてきます。sheet2上には変化なしです。 教えてください。 (過去回答) Sheet1のセルAに以下のように名簿が並んでるとします。 氏名(これはタイトル) 宛先 氏名1 宛先 氏名2 宛先 氏名3 宛先 氏名4 宛先 氏名5 宛先 氏名6 宛先 氏名7 宛先 氏名8 宛先 氏名9 印刷は別のシート、例えばSheet2に印刷するとした場合は以下のマクロで行えます。 なお、Sheet2の印刷範囲は仮にA1:D7の範囲としています。 Sub Pri_Name() Range("A2").Activate Do While ActiveCell.Text <> "" Worksheets(2).Range("A1").Value = ActiveCell.Text Worksheets(2).Range("A1:D7").PrintOut ActiveCell.Offset(1, 0).Activate Loop End Sub 上記のマクロはAltキーを押しながらF11キーを押して表示されるマクロのエディタでF7キーを 押して出てきたところに貼り付けます。 印刷を実行する場合はAltキーを押しながらF8キーを押して表示されるマクロの実行指示画面で 「Sheet1.Pri_Name」が選択されている事を確認して、同画面にある「実行(R)」ボタンを押します。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- keithin
- ベストアンサー率66% (5278/7941)
あなたがそれをみて「自分ではどうやったのか」の説明が何もないので,どこをどう直したらいいとかお話しすることができません。 次の通りに作成してください。 準備: まっさらのブックを用意する Sheet1に名簿を用意する 1行目にタイトル行を入れ, 2行目からデータを埋めていく A列に氏名を記入する B列に住所を記入する Sheet2に印刷シートを作成する A2に氏名が入る B7に住所が入る 単純に印刷すればいいようにしてある 手順: ALT+F11を押す 現れた画面で挿入メニューから標準モジュールを挿入する 現れたシートに下記をコピー貼り付ける sub macro1() dim i as long for i = 2 to worksheets("Sheet1").range("A65536").end(xlup).row worksheets("Sheet2").range("A2") = worksheets("Sheet1").cells(i, "A") worksheets("Sheet2").range("B7") = worksheets("Sheet1").cells(i, "B") worksheets("Sheet2").printout next i end sub ファイルメニューから終了してエクセルに戻る ALT+F8を押してマクロを実行する。 言わずもがなですが勝手に間違ったことをすると,失敗します。
お礼
ありがとうございます。 keithinさんの書かれたとおり、試してみたら、 うまくいきました。 書かれているとおりしただけで、意味すら理解していません。 これをヒントに、自分のやりたいこと試してみます。
補足
いろいろ試して作れました。 ひとつ質問ですが、range("A65536")の65536は何の数字ですか? A10だと機能しませんでした。