• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:通知表連続印刷の方法について教えてください。)

通知表連続印刷の方法について教えてください

このQ&Aのポイント
  • 通知表連続印刷の方法について教えてください。インターネットにて添付画像と下記の記述の通り印刷マクロを組んでみたのですが、番号の組み方がわからないので教えてください。
  • 通知表連続印刷の方法について教えてください。マクロのコードには、Forループを使って連続印刷を行う方法が示されています。
  • 通知表連続印刷の方法について教えてください。マクロに必要な数値を入力することで、任意の範囲の連続印刷ができるようになります。

質問者が選んだベストアンサー

  • ベストアンサー
  • hallo-2007
  • ベストアンサー率41% (888/2115)
回答No.2

>3番だけ印刷したいような時に使えるようにするには、“1” と “15”のところを“a” と “b”にし >ておいて、a = Range("A1")、b = Range("B1")のようにしておけば、セルA1、B1に必要な数値を >入力し、5番から8番まで実行したり、3番から3番(3番だけ)実行したりできます。 その通りですね。 Dim n As Integer Dim a As Integer Dim b As Integer a=Range("A1").Value b=Range("B1").Value For n = a To b ・・・ Next n と云った感じになります。

hello71169
質問者

お礼

ご回答ありがとうございます。初心者なものでどちらからの欄を使って再質問をしれば良いのかわからなかったので、お礼入力の欄から失礼します。下記の通り記述してみたのですが、まだうまく作動しません。再度教えていただけませんか? Sub 通知表印刷() Dim n As Integer Dim a As Integer Dim b As Integer a = Range("f2").Value b = Range("H2").Value For n = a To b ActiveSheet.PrintOut Next n End Sub

hello71169
質問者

補足

ご回答ありがとうございます。下記の通り記述してみたのですが、まだうまく作動しません。再度教えていただけませんか? Sub 通知表印刷() Dim n As Integer Dim a As Integer Dim b As Integer a = Range("f2").Value b = Range("H2").Value For n = a To b ActiveSheet.PrintOut Next n End Sub

全文を見る
すると、全ての回答が全文表示されます。

その他の回答 (1)

noname#119360
noname#119360
回答No.1

変数としてa, bをnと同様に宣言しておいてから、a, bへセルの値を代入し、for文中の1をa、15をbに置き換えると、できますよ。

全文を見る
すると、全ての回答が全文表示されます。

関連するQ&A

  • エクセルで変数が2つある連続印刷

    VBA初心者です。困っていますのでよろしくお願いします。 エクセルでVBAを使って,個人の成績個票を連続印刷する方法について教えてください。 一枚の用紙に,上半分は1組の生徒の個票を,下半分には2組の生徒の個票を連続的に印刷します。 「個票sheetセルE3」には1組の生徒番号を,「個票sheetセルE27」には2組の生徒番号を連続的に流し込み,VLOOKUP関数によって別sheetにある成績データを読み込んでいきます。 仮に2枚(1枚は「1組の1番の生徒(101)+2組の1番の生徒(201)」の個票,もう一枚は「1組の2番の生徒(102)+2組の2番の生徒(202)」の個票)を印刷するコードはどうすれば良いのでしょうか。 下のようなコードでは組み合わせ可能な4枚の個票が印刷されてしまいました。 VBAの専門家の方,ご助言いただければ幸いです。 Sub 一組二組印刷() '個票を印刷するマクロです Dim 番号一組 As Integer For 番号一組 = 101 To 102 Sheets("個票").Range("E3").Value = 番号一組 Sheets("個票").PrintOut Next 番号一組 Dim 番号二組 As Integer For 番号二組 = 201 To 202 Sheets("個票").Range("E27").Value = 番号二組 Sheets("個票").PrintOut Next 番号二組 End Sub

  • Excelで連続印刷をするマクロ

    Excelでデータベース的な使い方をしています。 「データ」シートにたくさんのデータがあり, 「レポート」シートのA1セルに入力した数字に該当するデータをVLOOKUP関数で読み込んでいます。 それを連続印刷するときに, 現在は For n = 1 To 135 Range("A1").Select ActiveCell.FormulaR1C1 = n ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True Next n End Sub というマクロで実行させています。 (ちなみにマクロの知識がほとんどなく 「新しいマクロの記録」を利用して作ったため,ほとんど意味は分かっていませんが・・・) このマクロでも印刷できるのですが, このままだとデータが 1 ~ 135に固定されてしまいますよね。 実際はデータ数が変動するので,そのたびにマクロの数字を変えています。 そこで考えているのが 新たに「設定」シートを作成して そこのiとjのセルに数字を入力することで,自動的に マクロが n = (iに入力した数字) To (jに入力した数字) となるようにした方が便利だと考えています。 あまりマクロについての知識がないくせに ほんのちょっとの工夫でできるような気がして・・・ あれこれ試してみたけどできません。 できれば今のマクロを根本的に変えるのではなくて 少しの変更とか追加とかでできるようにしたいのですが可能でしょうか? ぜひ 教えてください。よろしくお願いします。

  • エクセルのマクロの連続印刷で困っています。

    初心者です。 エクセルのマクロで通知書を指定した番号~番号までを連続印刷 させたいのですが、印刷をすると、印刷結果が最初の番号は指定した 番号まで印刷されて良かったのですが、次から最後までの番号の 印刷が同じものが印刷されていき、どんどん増えていってしまって いて困っています。 いろいろとやり方を変えてみたりしたのですが、どこが間違えて いるのかが結局分からず、どなたか詳しい方、教えていただけます ようでしょうか?>< よろしくお願いします。 ---- 失敗経緯は↓の感じです ・ただ連続印刷させたらシート1まで印刷したのでシート2を  セレクトさせるようにした ・連続印刷させるように指示した番号が繰り返し印刷される  のでプレビューさせて、プレビューされた1枚だけが印刷  させるようにプレビューを追加した にもかかわらず、プレビューでは1枚だけがプレビューされ るのに印刷結果はプレビュー以外の番号のものまで印刷されて しまいます。しかも、既に印刷がされているものまでもです。 シート2は、VLOOKUPで読み込ませているものは1人分だけの 情報のはずなのに、何故、それ以外の人の分まで印刷して しまうのでしょうか>< エクセルの構成は、 ・シート1 通知書に印刷させる用でID管理用の一覧になっています。 このシートにシート2で印刷させたいNoを入力・印刷指示 をさせています。 ・シート2 シート1で指定されたNoをVLOOKUPで読み込ませて表示させて います。(1人分で1枚のみ) ・セルには名前をつけています Sub 通知書を連続印刷する() myMsg = MsgBox(Range("通知書連続始め").Value & " 番から " & Range("通知書連続終わり").Value & " 番まで一括印刷しますか?" & Chr(10) & Chr(10) & "現在の使用プリンタは " & Application.ActivePrinter & " になっています。", vbOKCancel) If myMsg = vbOK Then For i = Range("通知書連続始め") To Range("通知書連続終わり") Range("連続印刷するNO").Value = i Worksheets("シート2").Select Worksheets("シート2").PrintPreview (False) Worksheets("シート2").PrintOut Next Else MsgBox (" 一括印刷を中止しました ") End If End Sub

  • 複数のシートの1ページ目と2ページ目を連続印刷したい

    Vista Excel2007でマクロ作成中の初心者です。 複数のシートが12個あります。(増減あり) それぞれのシートには、必ず2ページの改ページが設定してあります。 この複数シートの1ページ目だけを連続印刷したいです。 また、2ページ目だけを連続印刷したいです。以下のようにしたのですが うまく印刷できません。よろしくお願いします。 Sub シートの1ページ目の印刷() Dim i As Integer For i = 1 To 12 With Worksheets(i) .Range("A1:Q44").PrintOut End With Next i End If End Sub ------------------------------------- Sub シートの2ページ目の印刷() Dim i As Integer For i = 1 To 12 With Worksheets(i) .Range("Q46:Q89").PrintOut End With Next i End If End Sub

  • 一覧表から特定の行のみを選択して印刷するマクロですが、もう一歩のところで悩んでいます。

    'リストを1行1枚の伝票形式で印刷するマクロ Sub 個票発行() Worksheets("個票").Activate Dim 個票カウンタ As Integer For 個票カウンタ = 1 To _ Application.WorksheetFunction.CountA(Worksheets("一覧表").Range("A1:A88")) Range("B1") = 個票カウンタ 印刷 Next 個票カウンタ End Sub これだとA1からA88まですべて印刷してしまうのですが特定のセルに★印のある行のみ選択後印刷したければどういうマクロを組みいれればいいですか?お教えください。

  • エクセル 伝票、等を連続印刷

    初心者です。エクセルでデータ30件を別シートの伝票等に連続で印刷する方法で困ってます。 ます、データが30件あって(全て支払日時、金額、支払先が異なる) それを伝票に1件1件連続印刷したいのでが、(マクロを使って) その方法はデータ1から30までを上から順に印刷して合計30枚の伝票を作りたいのです。(支払日、支払先 金額)を伝票のシートの下のほうに貼り付けて(印刷しても文字が隠れるように印刷範囲を指定して)その数値を伝票の各項目と=で結んであります。1番目のデータを印刷したら その次に 2番目、3番目と 最後30番目まで続くように自動で設定したいのです。 私が本をみてやってみたら、2番目、3番目と連続してプリントアウトできません 1枚で終わってしまいます。 初心者ですが よい方法を教えて下さい。 もしかしたら、こんな感じですか? Worksheets(2).Range("A2:A30").PrintOut

  • エクセルマクロ 2部づつ印刷する

    現在、下記のようなマクロを組んでいました。 2部づつ印刷するには、何がいけないのでしょうか? (変数まではうまくいき、1部印刷するだけなら、できました) Sub 一括印刷() Dim a, b As Integer Sheets("○○").Select a = Range(d4) b = Range(d5) For n = a To b Range("d10") = n AcriveSheet.PrintOut Copies:=2 End Sub

  • エクセル内で、一度の印刷で2つのセルに差し込み印刷をする方法

    エクセルで差し込み印刷のマクロを組んでいます。現在は下の様に宛名を名簿に書いてある順番に印刷していくマクロですが、これに「住所」のシートを作成し、B4のセルに「住所」の内容も印刷できるようにしたいのです。つまり、一度の印刷で2つのセルに差し込み印刷をしたいのです。そのようなことは可能でしょうか。 Sub 封筒印刷() Dim i As Long i = Sheets("原本").Range("A65536").End(xlUp).Row Sheets("宛名").Select ActiveSheet.PageSetup.PrintArea = "$A$1:$E$14" For i = 1 To i Range("B5").Value = Sheets("原本").Cells(i, 1).Value ActiveSheet.PrintOut Next End Sub

  • エクセルで連続印刷した範囲を印刷済とわかるように

    エクセルで以下のようなプログラムで変数s、eに入力の範囲でシートの連続印刷しております。印刷し終わった後ですが、変数s~eの範囲を赤くして印刷済かどうかをひと目でわかるようにしたいと思います。可能でしょうか。 Sub 範囲を指定して印刷() Dim s As Long Dim e As Long Dim i As Long On Error Resume Next s = InputBox("開始No.を入力して下さい。") If s = 0 Then Exit Sub e = InputBox("終了No.を入力して下さい。") If e = 0 Then Exit Sub For i = s To e Worksheets("A").Range("C1") = i Application.Wait Now + TimeSerial(0, 0, 10) Worksheets("B").PrintOut Next i End Sub

  • 【VBA】配列を使ったマクロで高速化

    いつもお世話になっております。 現在大量にセルの内容を参照し、照らし合わせるマクロを作っていますが、内容が膨大でマクロでも 時間がかかるので、何とか高速化できないか、考えております。 そこで、セルを直接参照するより、配列を使った方が速くなるという話を聞いたのですが、 配列を使うときに普通はVariantで宣言をして、セルの値のみ格納すると思います。 例えば、次のように、A列とB列を10000個のセルを1個ずつ比較し、一致した時にある作業をさせて C列に出力するとします。 A = Range("A1:A10000") B = Range("B1:B10000") For i = 1 To 10000 For j = 1 To 10000 If A(i, 1) = B(j, 1) Then A(i, 1) = A(i, 1) + 1 End If Next Next Range("C1:C10000") = A このようなマクロならいいのですが、値が一致した時にそのセルの色を変えるだとか削除するだとか行うと、次のようになり、配列のみでの構成ができなくなってしまいます A = Range("A1:A10000") B = Range("B1:B10000") For i = 1 To 10000 For j = 1 To 10000 If A(i, 1) = B(j, 1) Then Cells(i, 1).Interior.ColorIndex = 3 End If Next Next 前者は15秒、後者は19秒かかりました。上のプログラムは例であり、 実際に実務の方でマクロを実行すると数十分かかってしまいます。 何とか、条件によってセルの色変えたり削除するときに、速度を低下させずに配列のみで構成することは不可能でしょうか?

専門家に質問してみよう