日常点検記録表をExcelVBAの繰り返し処理で自動作成する その2
前回使用した日常点検記録表ですが、この表にある点検箇所は基本中型車以上に当てはまるもので、2t・3tの小型車には当てはまらない箇所があります。
そのため小型車の点検用には点検項目を少し省いた日常点検表が必要ですが、この用紙の不要部分に横線を引いて、項目を使わないようなものにすれば同じ点検表を使うことができます。
今回は、この日常点検表を使って不要部分の点検箇所に横線を引くVBAコードを作成しようと思います。
1.まず、図形の直線を作成して、上の図の赤枠のように表示したい場所に置きます。
2.前回同様、Visual Basic Editorを開いて、標準モジュールにコードを記述します。
今回のコードはこちら。
VBAでは、Shapes.Addconnector()というコードで任意の場所に直線を引くこともできますが、それは別投稿で説明します。
今回はすでに作成している直線図形を可視、不可視するという処理で実現しています。
マクロ名はなんでも構いませんが、今回は横線を出現させるので
line_showとしました。
コードは初心者の方でも理解しやすい非常に簡単なものにしています。
日常点検表シートの車種セル値を取得して、その値が「3t」かどうかを条件分岐で処理し、あらかじめ用意している直線を可視化しています。
3.上記コードの前処理として、Workbookを開いたときに実行される
Workbook Openというプロシージャに左のコードを記述し、直線
を不可視にしておきます。
4.前回作成したコードの中で上のコードを
Call line_show
という記述で印刷前に呼び出し、直線を可視化して印刷する処理にして
います。
今回のVBAコードは、図形(Shapes)のVisible(可視)というプロパティを操作するコードとなっていて、ほかの用途にも使用できる便利なものですので、いろいろ試してみてください。
ExcelVBAは、WorkbookやWorkSheetの多様なプロパティを操作できますので、今後もこのようなプロパティ操作に関するものやあなたの業務で役に立ちそうなExcelVBAやAccessデータベースを使ったものを投稿していきますので、宜しくお願い致します。
この記事について、わからないところなどありましたら、下記のお問い合わせフォームからお願致します。
公務員時代は情報管理の仕事で物品管理システムや業務の自動化などに約30年携わってきました。今は会社勤めをしながらフリーランスでWordPressを使ったWebサイトの制作、運用代行、サイト構築のアドバイスやVBA・Pythonでの業務自動化など行っています。兵庫県三田市在住