Excelのマクロでの色の取得とループ方法
はじめまして。
マクロ初心者です。
Excelのセルを使って地方別の日本地図を作成しています。
イメージとしてはこれのExcel版といった感じです。
http://hp-sozai.net/tm-map/nt03.html
やりたいことは、別表の数字によってこの地方を色分けするマクロの作成です。
現在抱えている問題は、1.色の設定方法の改善、2.条件の設定方法の改善、3.現在のマクロの記述方法をシンプルにできないか、の3点です。
マクロは現在下記のように記述しています。
Sub 地方()
Hokkaido = Range("T4").Value
Select Case Hokkaido
Case ""
Range("P4").Interior.Color = QBColor(15)
Case 1 To 4999
Range("P4").Interior.Color = QBColor(11)
Case 5000 To 9999
Range("P4").Interior.Color = QBColor(9)
Case 10000 To 14999
Range("P4").Interior.Color = QBColor(2)
Case 15000 To 19999
Range("P4").Interior.Color = QBColor(10)
Case 20000 To 24999
Range("P4").Interior.Color = QBColor(14)
Case 25000 To 29999
Range("P4").Interior.Color = QBColor(13)
Case 30000 To 34999
Range("P4").Interior.Color = QBColor(12)
End Select
Tohoku = Range("T5").Value
Select Case Tohoku
Case 1 To 4999
Range("O8,O9,P7:P10").Interior.Color = QBColor(11)
Case 5000 To 9999
Range("P4").Interior.Color = QBColor(9)
Case 10000 To 14999
Range("P4").Interior.Color = QBColor(2)
Case 15000 To 19999
Range("P4").Interior.Color = QBColor(10)
Case 20000 To 24999
Range("P4").Interior.Color = QBColor(14)
Case 25000 To 29999
Range("P4").Interior.Color = QBColor(13)
Case 30000 To 34999
Range("P4").Interior.Color = QBColor(12)
End Select
・
・
・
(こを全地方分)
End Sub
1.色の設定方法の改善と2.条件の設定方法の改善について:
現在それぞれの地方ごとにセルA1:B7に凡例を作成しています。
凡例はセルAにフォントの色指定で着色した■、
セルBに0以上5000未満などの条件を入力してあります。
例:
A B
■ 1以上5000未満
色は上記の通りマクロで直接指定していて、この■の色を変更してもマクロの色は変わりません。
これをリンクさせて、■の色が変更されたらマクロにも反映されるようにしたいと思っています。
条件についても同様で、Bの値が変わったらマクロの値も変わるように設定できたらいいのですが。。
3.現在のマクロの記述方法をシンプルにできないか、について:
見ての通り、今のマクロは同じ事を地方ごとに記述していて非常に長いものになっています。
これをもう少しシンプルに記述できないかと思っているのですが、
セルの範囲も地方によってさまざまなので上手いループが思いつかず行き詰まっています。
是非アイディアをいただけるとありがたいです。
どうぞよろしくお願いいたします。
お礼
ありがとうございます。 やはり廃盤はよくあるんですね。 実はこのtom vacもhhstyle.の原宿本店で買ったものです。 一度問い合わせしてみようと思います。 ありがとうございました。