郊外暮らしの最適ライフ

最適なハッピーライフを目指しま~す。テーマは、「食」「投資」「教育」です。郊外で、エンジニアしてます。

【エクセルVBA実践4】 オブジェクトの色変え(視覚化 )② コーディング

実践パート4の"オブジェクト色変え”のマクロ作りについて解説しています。 図形 (オブジェクト) を、ある条件に合わせて色を変えることで、視覚的にわかりやすく表現してみるマクロです。
なお、この 「実践編」 は、すぐにでも業務に活かしていく方に向いています。 基礎的な「概要編」 は、別のシリーズにアップしていますので、そちらも参考にしてください。
 
---------------
前回:「オブジェクトの色変え ①」 問題設定と画面設計
今回「オブジェクトの色変え②」 コーディング
---------------
 
■ オブジェクトリストの作成
 
前回までで、オブジェクトをレイアウトしその番号を確認してきました。
次に、そのオブジェクトの一覧を別シートに作成していきます。 そのシートに、頻度(カウント) 項目とオブジェクトの紐づけをします。
つまり、この一覧シートの値を変えて、 色替えオブジェクトをコントロールするわけです。

 
■コーディング
 
(1) VBEを開きます。
起動ショートカット Alt+F11 キー
 
(2) 最終行を確認する (繰り返し回数確認)
以下のようなコードをつくり、 繰り返し実行のためのカウント数を把握します。
 
Sheets ("list"). Select
Range ("A1"). Select
maxrow
maxrow = maxrow - 2
 
(3) 頻度セルを選択して値をコピーする
 
"cnt1" は、 オブジェクト番号のことです。
リストにある頻度回数を、 "hin" 変数に格納します。
ここで、 +2は行のオフセット。 9は、列のオフセットです。
 
Cells (Rows. Count, 1). End (x 1 Up). Row
Sheets ("list").Select
hin = Cells (cnt1 + 2, 9).Value
 
(4) 色を変更する、オブジェクトを選択します。
Sheets ("map"). Select
ActiveSheet. Shapes (cnt1). Select
 
(5) 色を変更の条件
If hin= 0 Then
With Selection. ShapeRange. Fill
Visible = msoTrue
ForeColor RGB = RGB (255, 255,255)
Transparency = 0
. Solid
End With
 
Elself hin >= 1 And hin <= 3 Then
With Selection, ShapeRange.Fill
.Visible = msoTrue
.ForeColor. RGB = RGB (255,153,204)
Transparency = 0
Solid
End With
 
Elself hin >= 4 And hin <= 6 Then
With Selection. ShapeRange. Fill
mso True
Visible
ForeColor RGB = RGB (255,255,0)
Transparency = 0
. Solid
End With
 
Elself hin >= 7 And hin <= 9 Then
With Selection. ShapeRange. Fill
.Visible = msoTrue
ForeColor. RGB = RGB (51, 153, 102)
.Transparency = 0
. Solid
End With
 
Else
With Selection. ShapeRange. Fill
Visible = msoTrue
ForeColor RGB = RGB (153, 204,255)
. Transparency = 0
. Solid
End With
End If
 
この条件を、オブジェクトの数 (cnt1) だけ繰り返します。
 
■ 実行結果

 
解説は以上です。 いかがでしたでしょうか? オブジェクト操作のテクニックは他にも、 位置を変えるや形を変えるなど、 色々あります。 今回、本質的な使い方をマスターして、 そのような応用へ工夫を凝らして発展させていきましょう。
 

<img border="0" width="180" height="180" alt="" src="https://www28.a8.net/svt/bgt?aid=220625441350&wid=001&eno=01&mid=s00000008903001094000&mc=1"></a>
<img border="0" width="1" height="1" src="https://www11.a8.net/0.gif?a8mat=3NCROH+5SDQIA+1WP2+6IHCX" alt="">

<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js?client=ca-pub-9326366877465502"
     crossorigin="anonymous"></script>

<iframe src="https://rcm-fe.amazon-adsystem.com/e/cm?o=9&p=12&l=ur1&category=monthlydealevent&banner=0YY1NSRQAQANP6KGVP82&f=ifr&linkID=6196d5b616bfbf36556c9e148af82e8d&t=tpgun012345-22&tracking_id=tpgun012345-22" width="300" height="250" scrolling="no" border="0" marginwidth="0" style="border:none;" frameborder="0" sandbox="allow-scripts allow-same-origin allow-popups allow-top-navigation-by-user-activation"></iframe>

<iframe src="https://rcm-fe.amazon-adsystem.com/e/cm?o=9&p=12&l=ur1&category=music&f=ifr&linkID=e0a3a8f5eaf78749ff1232f060a1f0ed&t=tpgun012345-22&tracking_id=tpgun012345-22" width="300" height="250" scrolling="no" border="0" marginwidth="0" style="border:none;" frameborder="0" sandbox="allow-scripts allow-same-origin allow-popups allow-top-navigation-by-user-activation"></iframe>

[https://rpx.a8.net/svt/ejp?a8mat=3NCROH+5R6VAQ+2HOM+6FHC3&rakuten=y&a8ejpredirect=http%3A%2F%2Fhb.afl.rakuten.co.jp%2Fhgc%2F0ea62065.34400275.0ea62066.204f04c0%2Fa22062503836_3NCROH_5R6VAQ_2HOM_6FHC3%3Fpc%3Dhttp%253A%252F%252Fwww.rakuten.co.jp%252F%26m%3Dhttp%253A%252F%252Fm.rakuten.co.jp%252F:embed:cite]
[https://rpx.a8.net/svt/ejp?a8mat=3NCROH+5R6VAQ+2HOM+6LHDV&rakuten=y&a8ejpredirect=http%3A%2F%2Fhb.afl.rakuten.co.jp%2Fhgc%2F0eb4779e.5d30c5ba.0eb4779f.b871e4e3%2Fa22062503836_3NCROH_5R6VAQ_2HOM_6LHDV%3Fpc%3Dhttp%253A%252F%252Ftravel.rakuten.co.jp%252F%26m%3Dhttp%253A%252F%252Ftravel.rakuten.co.jp%252F:embed:cite]

--** ** お知らせ ** **--

■生徒募集中

個別指導(オンライン・訪問)のご希望がございましたら、ご連絡くださいませ。

 Email : tpgun01234@gmail.com

 twitter@yukitakada13

 YouTubehttps://www.youtube.com/channel/UC0bBqhuLGmH9f608vdeSYIQ

■「荷物の置き場所に困った…」を解決!

埼玉で、レンタル収納 モノオクサービスを提供しています。ご興味ありましたら是非!  
 https://monooq.com/space/7584?via=keyword

--** ** ** ** ** **--

 
 
 
#業務効率 #エクセルVBA #プログラミング #マクロ #オブジェクト #色変え #コーディング