[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『マクロを利用した連続印刷について』(マサ)
Excel2007,WindowsXP
いつもお世話になっております。
sheet1に表を作成し、A8のセルからA9,A10と順番に
1.2.3....とNoをふっています。
このNoをもとにsheet2のA2のセルに数字を入力するとVlookup関数により
sheet1の表を参照してsheet2に表が作成されるようにしてみました。
そこで、sheet1の表にオートフィルタをかけ、
抽出されたNoを自動でsheet2のA2セルに入力し
一枚ずつ表を印刷していきたいと考えております。
現状手入力をして一回づつ印刷しているため、
マクロにて良い方法はありませんでしょうか。
※sheet1の表のオートフィルタに関しては、
任意に抽出するため手動で行おうと考えております。
宜しくお願いします。
こんな感じかな。
Sub Sample() Dim a As Range, c As Range Set a = Sheets("Sheet1").AutoFilter.Range For Each c In a.Columns(1).SpecialCells(xlCellTypeVisible).Cells If c.Row <> a.Row Then Sheets("Sheet2").Range("A2").Value = c.Value 'ここで印刷処理 End If Next End Sub
ぶらっと立ち寄り
御回答ありがとうございます。
さっそくこちらのコードを行ってみたのですが、
Sheet1が5枚
Sheet2では、最後のNoのものが1枚のみ印刷されました。
また、印刷に使用したコードは、マクロの登録〜終了にて下記のコードを作成し
End Ifの前に挿入してみました。
ExecuteExcel4Macro "PRINT(1,,,1,,,,,,,,2,,,TRUE,,FALSE)"
Sheet2のみを印刷したいのですが、
どこを修正したら良いでしょうか。
宜しくお願いします。
マサ
印刷部分のサンプルも入れたのが下記。 (それにしても印刷処理をマクロ記録すると、Excel4マクロが生成されたの?)
Sub Sample() Dim a As Range, c As Range Set a = Sheets("Sheet1").AutoFilter.Range For Each c In a.Columns(1).SpecialCells(xlCellTypeVisible).Cells If c.Row <> a.Row Then With Sheets("Sheet2") .Range("A2").Value = c.Value .PrintOut Copies:=1, Collate:=True End With End If Next End Sub
ぶらっと立ち寄り
コードの印刷部分の追加ありがとうございます!!
うまく印刷ができました!
これで手入力せずに済みます!
本当に助かりました。
あと、Excelマクロ4なのですがファイル→印刷→印刷(P)→実行
とマクロの記録を行ったらこちらのコードが表示されました。
マサ
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.