[[20110620131059]] 『マクロを利用した連続印刷について』(マサ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『マクロを利用した連続印刷について』(マサ)

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.