[[20040901181346]] 『プリント半自動化』(頭わるー) ページの最後に飛ぶ

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

 

『プリント半自動化』(頭わるー)

また、お世話になります。 教えて下さい。

1年毎に、顧客と契約書を交わして、契約更新しなければいけないので、契約書のプリント半自動化を考えています。

   シート1に「顧客名簿」      顧客名  住 所  契約日 などのデータ

   シート2に「契約書フォーム」       契 約 書          契約日   年 月 日

                          --顧客名欄-- (以下、乙と言う)  

「契約書フォーム」の内容は、よくある契約書で --顧客名欄-- と 契約日の日付 の二つの内容しか変わりありません。(Wordでも良いくらい)

@「契約書フォーム」のプリント範囲外のセルに「いつの契約日分ですか?」を作り、入力された日付から「顧客名簿」の 
 
契約日を参照して、プリント対照を絞り込みたいのです。
 
(入力された日+1年後の日付を、新たな契約日とし、印刷したいのです。)

A絞り込みされたデータの顧客名を、契約書フォームの --顧客名欄--(以下、乙と言うの前)に、貼り付けてはプリントし、行数分を自動プリント出来たら、助かります。

件数が増えたし、マクロも勉強したいので、説明が伝わった方、いろいろと教えて下さい。

                             WINDOWS2000,Excel2003


 ご参考までに。 

http://camaro.ddo.jp/books/myPrint.xls

  (INA)

(INA)さん、ありがとうございました。参考になりましたが、マクロは初心者なので、

おぼろげにしか、わかりません。

「顧客名簿」の契約日を、オートフィルタで絞り込み、下のマクロを実行すれば

連続印刷されるという事なのでしょうか?

もう少し、教えてください。

 Private Sub CommandButton4_Click() 'フィルタ印刷
Dim PrintMenu As Long
Dim r As Range
Dim ws2 As Worksheet

With Worksheets("sheet1")

    Set ws2 = Worksheets("Sheet2")

    For Each r In .UsedRange.Columns(1).SpecialCells(xlCellTypeVisible)
        If r.Row > 1 Then
            ws2.Range("B3").Value = .Cells(r.Row, 1).Value
            ws2.Range("C6").Value = .Cells(r.Row, 2).Value
            ws2.Range("C9").Value = .Cells(r.Row, 3).Value
            ws2.Range("E6").Value = .Cells(r.Row, 4).Value
            ws2.Range("E9").Value = .Cells(r.Row, 5).Value
            ws2.Range("C3").Value = .Cells(r.Row, 6).Value

            Worksheets("Sheet2").Select

PrtMsg:

        PrintMenu = MsgBox("印刷を実行してもいいですか?。" & Chr(13) & _
                  " [は い]   : 印刷実行" & Chr(13) & _
                  " [いいえ]   : 印刷プレビュー" & Chr(13) & _
                  " [キャンセル] : 次を読込", 3, "フィルタ印刷")

            If PrintMenu = 6 Then 'はい(印刷実行)
                 MsgBox "印刷します。"
                 Worksheets("Sheet2").PrintOut
            ElseIf PrintMenu = 7 Then 'いいえ(印刷プレビュー)
                 Worksheets("Sheet2").PrintPreview
                 GoTo PrtMsg  'プレビューを閉じた後、確認メッセージに戻る。
            ElseIf PrintMenu = 2 Then 'キャンセル(何もしない)
            End If

        End If
    Next r

 End With
 End Sub

                     (頭わるー)


 >「顧客名簿」の契約日を、オートフィルタで絞り込み、下のマクロを実行すれば
 >連続印刷されるという事なのでしょうか?
 
 そうですよ。

 日付でフィルタするので、セルにも日付型でデータが入力されている必要があります。

  (INA)

(INA)さん、どうもありがとうございました。

実際には、マクロの基本がわかっていないのですが、1行ごと試したいと思います.

                    (頭わるー)


苦節5時間、やっと思い通りのマクロに改造出来ました。

今はまだテストの為、プリントアウトの部分をプリントプレビューとしてですが・・・。

ヒントを下さった(INA)さん、本当にありがとうございました。

少しずつ、マクロも勉強して行きたいと思います。

                       (頭わるー)


 参考になって幸いです。
 サンプルコードを編集する作業は、
 けっこうVBAの上達になると思いますので
 がんばってください。
  
  (INA)

コメント返信:

[ 一覧(最新更新順) ]


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