ログインしてさらにmixiを楽しもう

コメントを投稿して情報交換!
更新通知を受け取って、最新情報をゲット!

EXCEL VBAコミュの請求書の印刷

  • mixiチェック
  • このエントリーをはてなブックマークに追加
初めまして、VBA初心者ですがよろしくお願いします。

請求書を印刷するために

フィルター選択
   ↓
コード入力
   ↓
   印刷
という流れをマクロ記録したら以下のようになりました。

Selection.AutoFilter Field:=1, Criteria1:="10021"
Range("C4").Select
ActiveCell.FormulaR1C1 = "10021"
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Selection.AutoFilter Field:=1, Criteria1:="11022"
ActiveCell.FormulaR1C1 = "11022"
Range("C4").Select
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True

ここから質問なんですが
セルM13の請求金額が0の時は印刷をしないと
いうような条件を加えたいのですが
どのようにすればいいのでしょうか
説明が下手ですみませんがよろしくお願いします

コメント(7)

If( Cells( 13, 8 ) <> 0 )Then
  ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
End if
解答としてはTaKuBoさんの方法で終わりですが、せっかくですので、もうすこし。
顧客コード(?)がマクロに埋め込まれていますので、本や過去のトピックを参考にしてこれを別シートを参照すること、外へ出されてはいかがですか?
そうすれば顧客コードが増えたり、変更になってもシートを修正するだけですみます。
"10021"を入力するようにすると良いと思います。

customercode = InputBox( "顧客コードを入力してください。", "請求書印刷", "" )
if( customercode <> "" )then
  Selection.AutoFilter Field:=1, Criteria1:=customercode
  Range("C4").Select
  ActiveCell.FormulaR1C1 = customercode
  ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
  Selection.AutoFilter Field:=1, Criteria1:=customercode
  ActiveCell.FormulaR1C1 = customercode
  Range("C4").Select
  If( Cells( 13, 8 ) <> 0 )Then
    ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
  End If
End If
脱字です。すいません。
誤:別シートに出すこと、->正:別シートに出すことで、

TaKuBoさん
お書きのコードでは同じ請求書が2枚出てくるように思います。

kumaさんの画面では別のところに宛名とコードが入ったリストがあると推察しますので、それを使って一気に処理できたほうが便利と思いますがいかがでしょう?
>> 2〜4
本人が居ない上に、問題から激しく脱線してますよ。(^^;
takuboさん きぬちゃんさん

的確な説明をしていただきありがとうございます。
返信が遅くなってしまい申し訳ありませんでした。

別のシートに顧客などのリストがあり、そのリストを
参照して印刷できればいいなぁ〜とは思っていましたが
VBAに最近足を踏み入れたばかりだったので、考えているよ
うな事を実践することができませんでした。

きぬちゃんさんが言われているように処理できればと思います。
ofさん
すいません。脱線のきっかけを作ってしまいました。
タイトルが請求書の印刷ですので、リストから一気に印刷と言うニーズがあるはずだと思いまして。(といいわけしてみる。)

kumaさん
実現できればきっと便利になるはずですので、がんばってください。

ログインすると、みんなのコメントがもっと見れるよ

mixiユーザー
ログインしてコメントしよう!

EXCEL VBA 更新情報

EXCEL VBAのメンバーはこんなコミュニティにも参加しています

星印の数は、共通して参加しているメンバーが多いほど増えます。