Excel VBA質問箱 IV

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

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


4275 / 13644 ツリー ←次へ | 前へ→

【57553】一括印刷マクロをくみたいのですが・・ もっちゃん 08/9/2(火) 15:26 発言[未読]
【57556】Re:一括印刷マクロをくみたいのですが・・ りった 08/9/2(火) 18:30 回答[未読]

【57553】一括印刷マクロをくみたいのですが・・
発言  もっちゃん  - 08/9/2(火) 15:26 -

引用なし
パスワード
   エクセルのマクロをくみました。
下記マクロはA列に1を入力した部分のみ、B列から横17列分をとなりのシートに
抽出して印刷するというマクロです。
しかし、今の状態では1回1回印刷ボタンを押さなければ
印刷しません。これを1を入力したものすべてを1回印刷ボタンを押すことで
すべて印刷するように変更したいのですが・・・できないでしょうか?

Range("A65536").End(xlUp).Select
  If ActiveCell.Value = "印刷" Then
  MsgBox "印刷指定がありません"
  Else
  Selection.ClearContents
  ActiveCell.Offset(, columnOffset:=1).Activate
  numRows = Selection.Rows.Count
  numColumns = Selection.Columns.Count
  Selection.Resize(, numColumns + 17).Select
  Selection.Copy
  Sheets("注文書印刷フォーム").Select
  Range("A35").Select
  ActiveSheet.Paste
  Application.CutCopyMode = False
  ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
  Sheets("データテーブル").Select
  End If
  ActiveWorkbook.Save
End Sub
 

【57556】Re:一括印刷マクロをくみたいのですが・・
回答  りった  - 08/9/2(火) 18:30 -

引用なし
パスワード
   こんな感じですかね。
ご提示頂いたコードが読みづらく、全部は読みきっていません。
また、印刷のテストまではしてません。

Sub printAll()
 Dim r As Range
 Dim wsIn As Worksheet
 Dim wsOut As Worksheet
 
 Set wsIn = Worksheets("Sheet1")
 Set wsOut = Worksheets("Sheet2")
 
 Set r = wsIn.Range("A65535").End(xlUp)
 
 Do While r.Row > 1
  If r.Value = "印刷" Then
   wsIn.Range(r.Offset(0, 1), r.Offset(0, 1 + 17)).Copy
   wsOut.Range("A35").PasteSpecial xlPasteAll
   wsOut.PrintOut Copies:=1, Collate:=True
  End If
  Set r = r.Offset(-1, 0)
 Loop
End Sub

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