[[20070129055740]] 『毎回件数が違うリストを一度に印刷する方法は?』(鉄人) ページの最後に飛ぶ

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

 

『毎回件数が違うリストを一度に印刷する方法は?』(鉄人)WindowsXP、Excel2000

 はじめまして。現在仕事で顧客管理みたいなことをしていまして、シート1にランダムに入力された顧客データ(氏名・生年月日・住所等)を関数を使って支店毎に並べ替えをするところまではできたのですが、それを別シート(例えばシート2)に作成されてある一覧リストみたいな様式の中へ転記し、印刷。1支店のみを行うにはコピペで十分なのですが、支店数が多いもので一度並べ替えを行う事によってシート2へ支店毎のリスト転記&印刷を一度にできないものか悩んでおります。当方初心者なものでなるべく簡単な回答をいただければ幸いです。


 ' マクロです
' シート2のシートタブを右クリック
' コードの表示
' 下記コードをコピーして貼り付け

 Option Explicit
Private Sub Worksheet_Activate()
Dim lstR As Long, lstC As Long, x As Long
      '↓5行目よりクリア(実シートに合わせて下さい)
Range("5:" & Rows.Count).ClearContents
With Sheets("sheet1")
    lstR = .Cells(Rows.Count, "A").End(xlUp).Row
    lstC = .Cells(1, Columns.Count).End(xlToLeft).Column
    .Range(.Cells(1, 1), .Cells(lstR, lstC)).SpecialCells(xlCellTypeVisible).Copy _
     Range("A5") '←A5に貼り付け(実シートに合わせる)
End With
x = MsgBox("抽出された支店を印刷します", vbOKCancel)
If x = vbCancel Then Exit Sub
ActiveSheet.PrintOut
End Sub

 '使い方は
'シート1でオートフィルターを使い抽出→シート2を選択。
'(kohe)


koheさん他の質問をさせていただいていたえくせるです。
早速ですが、上のコードを貼り付けてテストしてみたのですが、
@'↓5行目よりクリア
Range("5:" & Rows.Count).ClearContents
がうまくクリアされません。全て転記&印刷されます。
Aシート1のA列を転記させたくない場合はどこをどう直せばいいのでしょうか?
Bシート2を選択するのではなくコマンドボタンで行う場合は
Private Sub Worksheet_Activate()をPrivate Sub CommandButton1_Click()に変更すればいいのでしょうか?


誰か助けて〜

 え〜っと、↑はどなた?鉄人さん?えくせるさん?
 VBAのコードは質問された方にカスタマイズされていますので、えくせるさんだとしたら別スレを立ててみてはどうでしょうか。
 流れが分かりにくくなってしまいます。
 (ROUGE)

 [えくせる]さんは下記で新規に相談されました。
[[20070206111715]] 『VBAコード』(えくせる)
 
(みやほりん)(-_∂)b

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.