- ベストアンサー
エクセルのマクロで開始行と最終行を指定して差し込み印刷する方法
- エクセルのマクロを使用して、開始行と最終行を指定して差し込み印刷する方法を教えてください。
- 差し込み印刷のために「個人票」のシートと「成績表」のシートを使用し、開始行と最終行の範囲を指定し、個人番号を1ずつ増やしながら差し込み印刷します。
- また、「成績表」の個人番号が不連続であったり、欠番がある場合でも、指定した範囲に従って差し込み印刷することができます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
ん? あぁ失礼しました、誤記ました。(ていうか、至はB8じゃなくてB3と書いてあったんですね) >「至」のセル(「個人表」シートのB3セル)に入力した番号まで sub macro1() dim i as long for i = range("A3") to range("B3") range("A8").value = worksheets("成績表").cells(i, "A").value worksheets("個人票").printout next i end sub お手数をおかけして大変ごめんなさいでした
その他の回答 (2)
- keithin
- ベストアンサー率66% (5278/7941)
自のセルに開始行(たとえば4)、至のセルに終了行(例えば10)を記入することで「指定した」ことにします。 sub macro1() dim i as long for i = range("A3") to range("B8") range("A8").value = worksheets("成績表").cells(i, "A").value worksheets("個人票").printout next i end sub
お礼
Sub macro1() Dim i As Long For i = Range("A3") To Range("A8") Range("個人番号").Value = Worksheets("成績表").Cells(i, "A").Value Worksheets("個人票").PrintOut Next i End Sub 上のように3行目の右をA8に直したらうまくいきました。ありがとうございます。 ただし、4行目の「個人番号」セルに入力した番号までしか印刷されません。 「至」のセル(「個人表」シートのB3セル)に入力した番号まで印刷するには、どうしたらよいでしょう。
- KURUMITO
- ベストアンサー率42% (1835/4283)
次のように一部を追加してはどうでしょう。 Sub 個人票印刷() Range("個人番号") = Range("自") Do While Range("個人番号") <= Range("至") Sheets("個人票").PrintOut Do Range("個人番号") = Range("個人番号") + 1 Loop Until Range("個人番号")<>"" Loop End Sub
補足
早々の回答をありがとうございます。試してみたのですが、欠番のところはエラーのまま印刷れてしまいました。 行いたいことは、「成績表」シートのA列のA4セルからA10セルまでの数字が、たとえば1,4,7,11,13,19,22というように、不連続であるのです。しかも印刷したいのは、その1,4,7,11,13,19,22の7枚のシートだけなのです。よろしくお願い申し上げます。
お礼
ありがとうございます。うまくいきました。御礼申し上げます。<m(__)m>