シートの後から前に向かって印刷 | |
---|---|
[195735] シートの後から前に向かって印刷- ■親トピック/記事引用/メール受信=OFF■ □投稿者/ momochan -(2023/05/16(19:01)) □U R L/ おたずねいたします。 基点シートというシートがあり、そのシートのひとつ前から、前方に向かって 最初のシートまで印刷したいのです。 よろしくお願いいたします。 |
[195736] Re[1]: シートの後から前に向かって印刷- ■記事引用/メール受信=OFF■ □投稿者/ ヘンリー -(2023/05/17(08:44)) □U R L/ 私なら、シート名を配列に入れて、 配列のインデックスの大きい順から読んでいき、 基点シートの前までは、印刷しない、 基点シートの後からは印刷するとやると思います。 動的配列にシートの1番名から入れていく For〜Next Step -1を使って、インデックスの大きい順に読む Ifを使って、基点シートまで読み飛ばし、 基点シートの後のシートから印刷する こんな感じです。 この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 |
[195737] Re[2]: シートの後から前に向かって印刷- ■記事引用/メール受信=OFF■ □投稿者/ MK -(2023/05/17(13:38)) □U R L/ こういうことする人ないと思うけど、こんな方法も ある、というコードです。 Sub test() Dim wscnt As Integer Dim kijunws As Worksheet Dim wsindx As Integer Dim prtsht As Worksheet Set kijunws = Worksheets("基準シート") '基準シート Set prtsht = kijunws '最初は基準シート wsindx = kijunws.Index - 1 For i = 1 To wsindx Set prtsht = prtsht.Previous '基準シートの一つ左のシート prtsht.PrintOut ’シートプリントアウト Next i Set prtsht = Nothing Set kijunws = Nothing End Sub この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 |
[195738] Re[3]: シートの後から前に向かって印刷- ■記事引用/メール受信=OFF■ □投稿者/ MK -(2023/05/17(13:41)) □U R L/ 基点シートを基準シートと見間違ってました。 ここは調整してください。 |
[195739] Re[4]: シートの後から前に向かって印刷- ■ / 記事引用/メール受信=OFF■ □投稿者/ momochan -(2023/05/17(23:32)) □U R L/ ヘンリーさん、MKさん ありがとうございました。 おかげで、正しく処理できました。 |
[195740] Re[5]: シートの後から前に向かって印刷- ■記事引用/メール受信=OFF■ □投稿者/ MK -(2023/05/19(08:17)) □U R L/ ヘンリーさんご提示の >For〜Next Step -1を使って の方法の一例です。 Sub test2() Dim kitenws As Worksheet Dim wsindx As Integer Dim i As Integer Set kitenws = Worksheets("基点ート") '基点シート wsindx = kitenws.Index - 1 '印刷開始シートのシートインデックス For i = wsindx To 1 Step -1 '昇順でループ Worksheets(i).PrintOut 'シートプリントアウト Next i Set kitenws = Nothing End Sub この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 |
[195741] Re[6]: シートの後から前に向かって印刷- ■記事引用/メール受信=OFF■ □投稿者/ MK -(2023/05/19(08:26)) □U R L/ >For i = wsindx To 1 Step -1 '昇順でループ 昇順ではなく降順でした。 この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 |
[195744] Re[7]: シートの後から前に向かって印刷- ■記事引用/メール受信=OFF■ □投稿者/ MK -(2023/05/20(08:42)) □U R L/ 基点シートまで来たらフラグを上げてプリントアウトする方法です。 Sub test3() Dim wscnt As Integer Dim i As Integer Dim flg As Boolean flg = False For i = Worksheets.Count To 1 Step -1 If flg = True Then MsgBox Worksheets(i).Name & vbCrLf & "printout" 'If flg = True Then Worksheets(i).PrintOut If Worksheets(i).Name = "基点シート" Then flg = True Next i End Sub この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 |
このトピックに書きこむ |
---|