マクロ(VBA)の書き方を教えて下さい。
マクロ(VBA)の書き方を教えて下さい。 B列に1~100までの数字があり、その数字に対しC列に1~20なら赤、21~40なら緑、41~60なら青、61~80なら白、81~100なら黒のように代入したいです。 詳細は画像の通りです。 ご教示お願い致します。
Visual Basic | Excel・67閲覧・50
ベストアンサー
とりあえずこんなもんで。 Sub CoverColor() Dim startRow As Variant, endRow As Variant, targetcol As Variant startRow = range("B1").Row targetcol = range("B1").Column endRow = range("B10000").End(xlUp).Row Dim i As Long Dim cellValue As Variant For i = startRow To endRow cellValue = Cells(i, targetcol) If IsEmpty(cellValue) = False Then cellValue = GetColor(cellValue) Cells(i, targetcol + 1) = cellValue End If Next End Sub Function GetColor(ByVal cellValue As Variant) As Variant Select Case cellValue Case 0 To 20 GetColor = "赤" Case 21 To 40 GetColor = "緑" Case 41 To 60 GetColor = "青" Case 61 To 80 GetColor = "白" Case 81 To 100 GetColor = "黒" Case Else GetColor = "" End Select End Function
1人がナイス!しています
色と対応する数値の設定がVBAで書くのが面倒なので、 設定用のシートを作って、 VBAでそれを読み込ませば エクセルで、色と数値の範囲を変更できるので修正があっても VBAコードで編集しなくて済むので、楽かなーとは思います。
質問者からのお礼コメント
ご教示頂き有難う御座います。 こんな書き方やこんなコマンドもあるんだなと、VBA初心者の私にとっては大変勉強になりました! どうも有難う御座いました。
お礼日時:5/18 23:47