Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


1956 / 13645 ツリー ←次へ | 前へ→

【70769】印刷ページ替え IK 11/12/28(水) 11:43 質問[未読]
【70772】Re:印刷ページ替え UO3 11/12/28(水) 14:11 発言[未読]
【70833】Re:印刷ページ替え IK 12/1/4(水) 16:33 お礼[未読]

【70769】印刷ページ替え
質問  IK  - 11/12/28(水) 11:43 -

引用なし
パスワード
   データコピー(検索ワードと一致する先頭行番号と行数から範囲設定)→フォーマット貼り付け→プリントアウト

という手順を組んでいます。
フォーマットが20行分しかなく、21行以上はページ替えをしたいのですが、
上手くマクロを組めません。

イメージとしては、
データコピー(1〜20行)→フォーマット貼り付け→プリントアウト→フォーマットクリア→データコピー(21〜40行)→・・・
です

アドバイスなどお願いいたします。

【70772】Re:印刷ページ替え
発言  UO3  - 11/12/28(水) 14:11 -

引用なし
パスワード
   ▼IK さん:

こんにちは

具体的なレイアウトの説明がないので、テンプレートといいますかサンプルです。
以下のコードでは Sheet1 にあるデータのうち、開始指定行から終了指定行まで、
A列〜E列の5列分を、20行ずつ、Sheet2(フォーマットシート)の C3:G22 の 20行、5列に転記して
印刷しています。

開始指定行、終了指定行は、固定値で与えていますが、ここは IK さんのロジックで求めている値を
使ってください。

Sub Sample()
  Dim pArea As Range
  Dim f As Long
  Dim t As Long
  Dim z As Long
  Dim flag As Boolean
  
  Application.ScreenUpdating = False
  
  Set pArea = Sheets("Sheet2").Range("C3:G22")
  
  f = 10  '印刷すべきデータの開始行
  t = 60  '印刷すべきデータの最終行
  
  With Sheets("Sheet1") '元シート
    Do
      z = f + 20 - 1 'この印刷ブロックの最終行
      If z >= t Then
        z = t
        flag = True
      End If
      
      pArea.ClearContents
      pArea.Resize(z - f + 1).Value = .Range("A" & f & ":E" & z).Value
      pArea.Parent.PrintOut
      
      If flag Then Exit Do
      
      f = z + 1
      
    Loop
  End With
  
  pArea.ClearContents
  Set pArea = Nothing
  Application.ScreenUpdating = True
  
  MsgBox "印刷終了"
  
End Sub

【70833】Re:印刷ページ替え
お礼  IK  - 12/1/4(水) 16:33 -

引用なし
パスワード
   年末年始のお忙しい中、ご回答ありがとうございました。

返礼が遅くなり申し訳ございません。

1956 / 13645 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free