| 
    
     |  | ▼Jaka さん: >>オートフィルタで12行ずつ選んで印刷しようとしています。
 >>1以上〜12以下、13以上〜24以下、25以上〜36以下・・・
 >これと、
 >
 >>1列目は、7行目に項目、8行目からデータが入っていて、印刷が必要な行に1が入るようにしています。
 >これがどうつながるのか良くわかりません。
 >
 >んで、適当に解釈してみました。
 >
 >フィルタされている範囲を12行づつ選択。
 >
 >
 データ有 n 品名   数量
 1  1  カバー   10
 1  2  パネル   20
 1  3  モール    30
 ・
 ・
 ・
 1  12  レンズ   40
 1  13  パッキン   50
 1  14  トメグ   60
 1  15  ネジ    70
 ・
 ・
 ・
 100
 こんな表ですが、オートフィルタで12行ごとに絞って印刷させます。
 教えて頂いたプログラムでは1行しか抽出できませんでした。
 >Range("A1").AutoFilter Field:=2, Criteria1:="1"
 >'↑
 >'この部分は、動作にあったものに変えてください。
 ここを変えなかったからだと思いますが・・・
 
 なんとか以下のプログラムで動くようになりました。
 Sub ()
 Dim myRow1 As Integer
 Dim myRow2 As Integer
 i = 8
 myRow1 = 1
 myRow2 = 12
 Do
 '梱包日報12行ごと印刷
 Selection.AutoFilter Field:=2, Criteria1:=">=" & myRow1, Operator:=xlAnd, _
 Criteria2:="<=" & myRow2
 ActiveWindow.SelectedSheets.PrintPreview
 ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
 i = i + 12
 myRow1 = myRow1 + 12
 myRow2 = myRow2 + 12
 Loop While Cells(i, 1).Value <> ""
 'フィルタ解除
 Selection.AutoFilter Field:=2
 MsgBox "End", vbInformation
 End Sub
 
 お手数お掛けしました。
 
 |  |