Excelのマクロ、VBAコードでセルの色をカウントする
マクロと聞くと何だか難しそうだ・・・
そう思い、あきらめる方も多いかも知れませんし、、、
マクロ・プログラミングしないと作れない内容だと、「Excelではできない!!」っと、即、回答する方もいることでしょう。
また、担当者が変わってしまうと、、、
こんなのどうやって作ったの?っと悩まれるかも知れません
そんな例として、「セルの色をカウントするプログラミング」の作り方を例にして、
初めて挑戦する方法を、、、
最近では、ネット上に回答なり、参考となるプログラムはあります。
近いのはあるので、探してみることです。
探し出したら、試してみる。
この繰り返しです。細かい内容は別として、トライ&エラー、試行錯誤をしてみて下さい。
今回は、セルの色をカウントするプログラミングですので、「Excel セル 色 カウント」とか「Excel 色 カウント」などで検索すると可能な方法が出てきます。
その中で、使えそうな例を試してみて下さい。
セルの値を比較して、カウントするには、あらかじめExcelで用意されている関数、COUNTIF関数を使えば可能ですけど、、、
セルの色が同じ個数をカウントするには?
フィルターで色を指定して絞り込んで・・・みたいな感じでカウントしないとできないみたい。
ということで、VBAの例を作ってみました。
なお、関数名、引数などの変数など、少し変更しています。
注意点は、マクロの作成時に、「標準モジュール」を追加して作成する必要があります。
Module1 となっているファイルにコピペ作成しています。
日本語の変数名は、あまり使いませんが、解りやすく日本語で書いています。
この程度の短いプログラミングからはじめて、必要に応じて、少しづつ作り方を理解してスキルアップして頂ければよいかと思います。
ExcelのVBA、全てを理解してから作ってみようとすると、結果的に「あきらめた」となるケースも多いです。
必要に応じて、、、実際に作りながら、少しづつ、あきらめず、理解していけばよいでしょう。
時間的に余裕があれば、1行、1行じっくり処理の内容を確認しながら、調べながら見直して下さい。
プログラミングの内容は省略しますが、Excel の セルは、プログラミング、VBAでは、 Range といったオブジェクトで値を参照したり、セットしたりできます。
For Each r In 範囲
の箇所、指定した範囲を繰り返し処理していきます。
同じ色の場合は、カウント+1をしている、単純な例です。
作成手順
1.Excelを開き、元データを作成します。
次に、ネットから検索、、、参考になりそうなモジュールがあれば、コピペして下さい。
慣れるまでは、入力するよりも、コピペがいいです。VBAでプログラミングしていきますので、メモ帳などのテキストエディタを活用しながら、操作していきましょう。
2.「Atl」+「F11」を押下して、Visual Basic ウインドウを出すか、
「開発」タブがあれば、「開発」タブから、Visual Basicを選んで下さい。
3.Visual Basic ウインドウの画面で「挿入」⇒「標準モジュール」
新しく出てきた「標準モジュール」に、貼り付け
ここで、変数など解りやすい言葉に置き換えると、後々、解りやすいです。(上級者向け)
4.Excel側で関数を使った式を記述する。
※最後に、保存ですが、、、
ファイルの種類の箇所を、「Excel マクロ有効 ブック(.xlsm)」と変えて、名前を付けて保存となります。
また、
再度、Excelファイルを開く時に、「コンテンツの有効化」を押下して下さい。
エラー表示となります。
セルの色をカウントするプログラミング、関数の作成ではなく、Excelでも、他のプログラミング言語でも、ネットで調べる⇒試してみる。
といったことを繰り返し行うことで、スキルアップしていく方法の説明でした。
その他に、こんなことしてみたい。とか、する必要がある。
といった内容であれば、教えて頂ければ、一緒に作っていきます。
ワンポイントレッスンの一例でした。
まずは、ネットを使い。「あきらめず」探してみること、同じ処理は見つからなくても、類似プログラムは見つかることでしょう。
参考にしながら、余裕があれば、解析してみて下さい。
インターネットの情報を有効に活用して作っていけばよいかと思います。
参考例として自分のスキルにしていきましょう!!