マクロでつくる色番号一覧表
マクロ講座37回
マクロ講座 色番号ColorIndex
Excel 色番号一覧マクロ For~Nextを入れ子
色番号一覧表をつくるマクロ
色番号とは、Office製品のカラーパレットにある56色を識別する番号のことです。ColorIndexプロパティを使います。
Excelでは、光の三原色であるRGBを0~255の256段階で表し、約1670万色の色を使うことができます。RGBで色を指定する時は、Colorプロパティを使います。こちらは、次の回で紹介しましょう。
マクロでセルの背景色を設定する時に、色を調べるのがめんどうだと感じることはありませんか?
今回は、ColorIndexプロパティで色番号一覧表を作るマクロを紹介します。(サンプルファイルは、こちらから 2013マクロ講座37回サンプルデータ)
色番号一覧表をつくるマクロ
単純にカラーパレットにある56色を表示するマクロです。A列にColorIndexにあたる数値が入力されていて、B列のセル色として表示するというものです。
コードは、行番号をカラーインデックスに使っています。
Sub 色番号縦() Dim 行 As Integer For 行 = 0 To 56 Cells(行 + 1, 1).Value = 行 Cells(行 + 1, 2).Interior.ColorIndex = 行 Next 行 End Sub
色番号の一覧を格子状に作るマクロです。
こちらは、もう少し高度で、格子状に作るために工夫しています。
変数を3つ使い、For~Nextステートメントを使っています。
変数を3つ使い、For~Nextステートメントを使っています。
For~Nextステートメントの使い方
For~Nextステートメントの使い方
最初に、Forで繰り返し回数を宣言します。
繰り返し回数は、カウンタの変化範囲(開始値と終了値)で指定します。
最初に、Forで繰り返し回数を宣言します。
繰り返し回数は、カウンタの変化範囲(開始値と終了値)で指定します。
たとえば、「開始値が1,終了値が7」なら繰り返しは、7回。
繰り返しの終了位置はNextで指定します。
繰り返しの終了位置はNextで指定します。
For~Next が実行されると、カウンタの値が開始値から1ずつカウントアップされ、終了値に達すると繰り返しが終了します。
コードは、For~Nextを入れ子にしています。
Sub 色番号() Dim 行 As Integer, 列 As Integer, 色番号 As Integer For 行 = 1 To 7 For 列 = 1 To 8 色番号 = 列 + (行 - 1) * 8 Cells(行, 列) = 色番号 Cells(行, 列).Interior.ColorIndex = 色番号 Next 列 Next 行 End Sub
For~Nextを入れ子というと、コード上ではちょっとわけがわからなくなりがちですね。
最初の行=1の時は、1行目に対して、列の繰り返しを1~8まで行って、 1行目が終了すると行=2になり、2行目に対して、列の繰り返しを1~8まで行うという作業をします。
これをFor 行 = 1 To 7で7行目までやってくれます。
最初の行=1の時は、1行目に対して、列の繰り返しを1~8まで行って、 1行目が終了すると行=2になり、2行目に対して、列の繰り返しを1~8まで行うという作業をします。
これをFor 行 = 1 To 7で7行目までやってくれます。
今日の講義は以上です。お疲れ様でした。