| このトピックに書きこむ |
|---|
| Re[7]: シートの後から前に向かって印刷 | |
|---|---|
[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のコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 | |
[195741] Re[6]: シートの後から前に向かって印刷- ■記事引用/メール受信=OFF■ □投稿者/ MK -(2023/05/19(08:26)) □U R L/ >For i = wsindx To 1 Step -1 '昇順でループ 昇順ではなく降順でした。 この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 | |
[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のコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 | |
[195739] Re[4]: シートの後から前に向かって印刷- ■ □投稿者/ momochan -(2023/05/17(23:32)) □U R L/ ヘンリーさん、MKさん ありがとうございました。 おかげで、正しく処理できました。 | |
[195738] Re[3]: シートの後から前に向かって印刷- ■記事引用/メール受信=OFF■ □投稿者/ MK -(2023/05/17(13:41)) □U R L/ 基点シートを基準シートと見間違ってました。 ここは調整してください。 | |
[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のコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 | |
[195736] Re[1]: シートの後から前に向かって印刷- ■記事引用/メール受信=OFF■ □投稿者/ ヘンリー -(2023/05/17(08:44)) □U R L/ 私なら、シート名を配列に入れて、 配列のインデックスの大きい順から読んでいき、 基点シートの前までは、印刷しない、 基点シートの後からは印刷するとやると思います。 動的配列にシートの1番名から入れていく For〜Next Step -1を使って、インデックスの大きい順に読む Ifを使って、基点シートまで読み飛ばし、 基点シートの後のシートから印刷する こんな感じです。 この記事にはVBAのコードが含まれています。 緑の太文字→注釈 茶色の太文字→条件分岐 赤の太文字→ループ 青の太文字→その他 | |
[195735] シートの後から前に向かって印刷- ■親トピック/記事引用/メール受信=OFF■ □投稿者/ momochan -(2023/05/16(19:01)) □U R L/ おたずねいたします。 基点シートというシートがあり、そのシートのひとつ前から、前方に向かって 最初のシートまで印刷したいのです。 よろしくお願いいたします。 | |