戻る  □一般操作のサロン  □ 使用方法  □ 新着記事  □ 新規に質問する!  □ トピック一覧  □ 検索  □ 過去ログ
[ 最新記事及び返信フォームをトピックトップへ ]
このトピック参照回数 :
条件によって印刷シート枚数を変更したい

    [190292] 条件によって印刷シート枚数を変更したい-

    ■親トピック/記事引用/メール受信=OFF■

    □投稿者/ マチ* -(2019/09/24(15:26))
    □U R L/
      こんにちは
      現在契約書の作成準備をしておりますが
      件数が多いため マクロに挑戦しております。
      
      (マクロは最近覚えたての初心者です。)
      
      条件によって分岐するところがうまくいかないので
      教えてください。
      
      ○構成○
         契約書シート
         台帳シート
         指示シート
      に分かれています。
      
      契約書シートを2部印刷させます。
      契約書シートの「AI1」セルに番号を入れると台帳からデータを取り出すように
      vlookupの数式が入れてあります。
      
      印刷したい番号は指示シートのB2からの番号を印刷するように
      マクロを作りました。
      
      作ったコードは下記のようになります。
      
      Sub 連続印刷()
          Dim i As Integer
          Dim LastRow As Integer
          
          Worksheets("契約書").Select
          
          With Worksheets("指示")
              LastRow = .Range("B65536").End(xlUp).Row
              For i = 2 To LastRow
                  Range("AI1").Value = .Range("B" & i).Value
                  ActiveSheet.PrintPreview
                'ActiveSheet.PrintOut Copies:=2
                'ActiveWorkbook.PrintOut From:=1, To:=3
           'ActiveWorkbook.PrintOut From:=1, To:=4
              Next
          End With
      End Sub
      
      
      指示シートのB列は台帳から印刷したい番号が記載されています。
      指示シートのC列は一括支払いか分割払いか記載があります。
      分割払いの場合は 契約書シートを印刷する際にP1〜P4まで印刷させたいです。
      一括払いの方はP1〜P3まで印刷させたいです。
      
      
      契約書シートは印刷範囲(A〜AH)を指定しています。
      
      この条件部分のコートがうまく作れません。
      どなたら 教えてください。
      お願いします。
      
      win10  エクセル2010です。
      
      
      
      
      
      


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [190293] Re[1]: 条件によって印刷シート枚数を変更したい-

    記事引用/メール受信=OFF■

    □投稿者/ リスキーダック -(2019/09/24(16:55))
    □U R L/

      印刷範囲の指定は、マクロ記録で取れますよ。




    [190296] Re[2]: 条件によって印刷シート枚数を変更したい-

    記事引用/メール受信=OFF■

    □投稿者/ マチ* -(2019/09/25(11:11))
    □U R L/

      スキーダックさん

      お返事ありがとうございます。
      やってみますね。


      それから
      条件によって指示を変える(一括と分割で印刷を変える)部分も躓いているので
      その分岐をよろしければ 教えてください。




    [190297] Re[3]: 条件によって印刷シート枚数を変更したい-

    記事引用/メール受信=OFF■

    □投稿者/ マチ* -(2019/09/25(12:50))
    □U R L/

      すみません

      リスキーダックさんでした。お名前間違えて申し訳ありません。




    [190298] Re[4]: 条件によって印刷シート枚数を変更したい-

    記事引用/メール受信=OFF■

    □投稿者/ リスキーダック -(2019/09/25(14:22))
    □U R L/

      >一括と分割で印刷を変える

      すみません。
      このPCプリンターとつないでないので、ろくなプリンタードライバーが入ってません。(デフォルトのまま)

      なので、「一括と分割」って、何????状態。
      ひょっとしたら、プリンタードライバーの方の制御なので、VBAでは制御できないかも?

      この設定がブックに保存されるものなら、一括用、分割用のブックを用意して使い分けると言った方法が使われているような???




    [190299] Re[5]: 条件によって印刷シート枚数を変更したい-

    記事引用/メール受信=OFF■

    □投稿者/ チオチモリン -(2019/09/25(15:09))
    □U R L/
      とりあえず 試してみて下さい。
      
      ActiveSheet.PrintPreview
        ↓ 
      ActiveSheet.PrintOut 1, IIf(.Range("C" & i).Value = "一括", 3, 4), 2, True ' PrintOut(From, To, Copies, Preview)
      




    [190302] Re[6]: 条件によって印刷シート枚数を変更したい-

    記事引用/メール受信=OFF■

    □投稿者/ マチ* -(2019/09/26(12:29))
    □U R L/

      リスキーダックさん

      お返事ありがとうございます。

      一括と分割は支払方法になります。
      一括払いの方と分割払いの方で明細の有無が異なります。
      (分割は明細があるので4枚印刷)

      説明不足で申し訳ありません。



      チオチモリンさん

      お返事ありがとうございます。
      試してみます。




    [190303] Re[7]: 条件によって印刷シート枚数を変更したい-

    記事引用/メール受信=OFF■

    □投稿者/ マチ* -(2019/09/26(13:09))
    □U R L/

      チオチモリンさん

      黄色くなって 止まってしましました。




    [190304] Re[8]: 条件によって印刷シート枚数を変更したい-

    記事引用/メール受信=OFF■

    □投稿者/ チオチモリン -(2019/09/26(13:57))
    □U R L/

      そのコード(プロシージャ全文)をここに貼り付けてください。




    [190314] Re[9]: 条件によって印刷シート枚数を変更したい-

    記事引用/メール受信=OFF■

    □投稿者/ マチ* -(2019/09/27(09:24))
    □U R L/
      チオチモリンさん
      
      マクロ覚えたてで理解できず すみません。
      よろしくお願いします。
      
      
      Sub 連続印刷()
          Dim i As Integer
          Dim LastRow As Integer
          
          Worksheets("契約書").Select
          
          With Worksheets("指示")
              LastRow = .Range("B65536").End(xlUp).Row
              For i = 2 To LastRow
                  Range("AI1").Value = .Range("B" & i).Value
                  ActiveSheet.PrintPreview 1, IIf(.Range("C" & i).Value = "??", 3, 4), 2, True ' PrintOut(From, To, Copies, Preview)
                 'ActiveSheet.PrintOut 1, IIf(.Range("C" & i).Value = "??", 3, 4), 2, True ' PrintOut(From, To, Copies, Preview)
                'ActiveSheet.PrintOut Copies:=2
                'ActiveWorkbook.PrintOut From:=2, To:=3
              Next
          End With
      End Sub
      


      この記事にはVBAのコードが含まれています。

      緑の太文字→注釈
      茶色の太文字→条件分岐
      赤の太文字→ループ
      青の太文字→その他




    [190315] Re[10]: 条件によって印刷シート枚数を変更したい-

    記事引用/メール受信=OFF■

    □投稿者/ チオチモリン -(2019/09/27(09:49))
    □U R L/
      ActiveSheet.PrintPreview ではなく
      
      ActiveSheet.PrintOut です。
      
      尚
      ActiveSheet.PrintOut 1, IIf(.Range("C" & i).Value = "一括", 3, 4), 2, True
      の最後の引数がTrueの場合はプレビューにFalseに変更すると印刷になります。
      
      〜〜〜〜〜〜〜〜〜〜
      IIf(.Range("C" & i).Value = "??", 3, 4)の"??"は
      >指示シートのC列は一括支払いか分割払いか記載
      の「一括支払い」の場合の実際の記載としてください。
      〜〜〜〜〜〜〜〜〜〜
      コードのテスト時には
      >LastRow = .Range("B65536").End(xlUp).Row
      だと件数が多いと大変なので
       LastRow =3 とかにしておくとよいです。




    [190316] Re[11]: 条件によって印刷シート枚数を変更したい-

    記事引用/メール受信=OFF■

    □投稿者/ γ -(2019/09/27(10:17))
    □U R L/
      蛇足ながら。
      
      PrintPreviewのところにカーソルを持っていってF1キーを押すと
      ヘルプが見られます。
      引数を確認してみてください。
      PrintOutの引数とはまったく別のものですからエラーになって当然です。
      
      PrintOutを使った元々のものをコメントアウトしているから、
      単なる書き間違いでは無いですよね。
      
      両者の違いをヘルプでキチンと確認しておいたらよいと思います。
      




    [190317] Re[12]: 条件によって印刷シート枚数を変更したい-

    記事引用/メール受信=OFF■

    □投稿者/ マチ* -(2019/09/27(16:26))
    □U R L/

      チオチモリンさん

      お返事ありがとうございます。
      印刷する前に プレビューで確認しようと思って変えました。
      OKだったらprint outにするつもりで・・・


      コピペしたら文字ばけしていて 変更するの
      忘れていました。
      申し訳ありません。

      last row=3試してみます。
      ありがとうございます。




    [190318] Re[13]: 条件によって印刷シート枚数を変更したい-

    記事引用/メール受信=OFF■

    □投稿者/ マチ* -(2019/09/27(16:28))
    □U R L/

      γさん
      (なんとお読みするのでしょうか・・)

      ご指摘ありがとうございます。

      プリントする前に プレビューで確認しようと思って
      変更しました。

      カーソルを合わせると引数がわかるのは
      勉強になりました。
      ありがとうございます。

      ヘルプ見てみます。




    [190319] Re[14]: 条件によって印刷シート枚数を変更したい-

    記事引用/メール受信=OFF■

    □投稿者/ γ -(2019/09/27(16:52))
    □U R L/
      こんにちは。 γです。ガンマ線のガンマです。
      フォントの関係で Yさんと呼ばれることもあるが、
      富豪もとい符号なので なんでもよいです。
      
      >プリントする前に プレビューで確認しようと思って
      >変更しました。
      そのことも考慮してチオチモリンさんは
      PrintPreview引数をTrueにしたPrintoutメソッドにしたのでしょう。
      プレビューを表示したうえで印刷せずに編集画面に戻ることもできますから。
      ただ、多件数なら逐一プレビュー画面が出るのは適当でないかもしれませんが。
      
      
      
      
      




    [191392] Re[15]: 条件によって印刷シート枚数を変更したい-

    解決!!ありがとうございました! / 記事引用/メール受信=OFF■

    □投稿者/ マチ* -(2020/02/17(15:04))
    □U R L/

      お返事が大変遅くなりました。
      チオチモリンさん
      出来ました。ありがとうございます!!



このトピック内容の全ページ数 / [0]

このトピックに書きこむ
Name/
E-Mail/

└>このツリーのレス記事をメールで受信しますか? YES/ NO/
Title/
URL/
Comment/ 通常モード->  図表モード-> (←の場合適当に改行を入れて下さい)
タグが使用できます。例 ⇒ <font color="blue">文字</font>
解決!!ありがとうございました! 解決       保留中です・・・ 保留        迷宮入りorほかあたって見ます・・ 迷宮入       すいませ〜ん。誰か〜! Help! ←※回答者専用
解決したらチェック       保留(コードテスト中など・・)         解決不可orレスが全く付かなくてほかのサイトに行くときなど・・
削除キー/
(半角8文字以内) 


- Child Forum -
Edit:ゆう-G