例
以下の表は、各男性の各女性に対する好みを 5 段階評価で表わしている。
上記の表を次のように値に応じてセルに色を付けたい。
方法
予めセルには値が入力されていて、色をつけたい範囲を選択してから、ボタンを押して色を付けるという実装にする。
VBA で以下のコードをサブルーチンとして定義する。
ボタンを作成し、上記サブルーチンを呼出すようにする。With Selection For i = .Row To .Row + .EntireRow.Count - 1 For j = .Column To .Column + .EntireColumn.Count - 1 If IsNumeric(ActiveSheet.Cells(i, j).Value) Then ActiveSheet.Cells(i, j).Interior.ColorIndex = _ ActiveSheet.Cells(i, j).Value + 41 End If Next Next End With
セルの色は、Cells の Interior.ColorIndex で設定する。この値は以下の数値と対応している。
参考
- Range メンバ (Microsoft.Office.Interop.Excel)
- Range.EntireColumn プロパティ (Microsoft.Office.Interop.Excel)
疑問
最初、Worksheet の Change イベントで値が入力されたときに、セルの色を変更しようと考えた。一つ一つの値を入力するときは問題なかったが、複数の値をコピペして値を変更しようとするとエラーがでてしまった。 QQQ
0コメント:
コメントを投稿