Home > web > EXCEL マクロ.3

EXCEL マクロ.3

  • 2008-06-15 (Sun) 12:19
  • web
マクロ(VBA)を作る!
といっても、今まで勉強したことがないので全然わかりません(笑)

ということで、例によって検索学習!

知りたいことはマクロの自動記録でできなかった
1.オートフィルターで抽出したセルの選択
2.選択したセルと会員シートとの関連付け
3.会員シートの印刷
4.上の作業を順番に繰り返すこと
です。

いつものことですが、検索していろいろなサイトを見ても基礎知識すらないのでぜんぜん解りません。
HTMLやCSSのときもそうでしたが、VBAのコードも始めてみたときは暗号としか思えませんでした(笑)

それでもあきらめずに上の4項目を頭に入れて調べていくと、コードの意味がなんとなく解ってきました。
でもコードを書いて検証してみると動かなかったり、エラーが出たり…なかなかつながっていきません。
特に処理に困ったのが、
1.の抽出した可視セルの取り込み
2.3.の印刷する各シートのシート名での呼び出し
でした。
可視セルは SpecialCells(xlCellTypeVisible)
シート名での呼び出しは Sheets("シート名").Select
呼び出したシートの印刷は ActiveWindow.SelectedSheets.PrintOut

とそれぞれは何とか解ったのですが、これをコードとして組み立てるとき可視セルの組み込みがどうしてもできませんでした。

一応作業方法として落ち着いたのが
自動記録のマクロで手数料表のオートフィルターまでを行い、抽出した会員番号をコピーして別のセルにに貼り付けます。
次にその会員番号を選択して下のマクロを実行します。
Sub 明細書印刷()
Dim r As Range
Dim MySheetName As String

MySheetName = ActiveSheet.Name
Application.ScreenUpdating = False

For Each r In Selection
Sheets(CStr(r)).Select
ActiveWindow.SelectedSheets.PrintOut
Next
Sheets(MySheetName).Select
Application.ScreenUpdating = True
End Sub

実際に検証してみると、これで希望する一連の作業はクリアすることができました。

やったぁ~!
(注:Excel2003で作成)
Comment Form

Trackback : No Trackbacks

TrackBack URL for this entry
トラックバックの際は上記 URL をクリック、コピーしてご利用ください。
EXCEL マクロ.3 from ChaBlog
Trackbacks
このエントリにトラックバックはありません
もしあなたのブログがトラックバック送信に対応していない場合にはこちらのフォームからトラックバックを送信することができます。

Home > web > EXCEL マクロ.3

Search
Links
Feeds

Page Top