(04) コードの説明は後にして、VBAで「カラーチャート」を作ろう!
まずは VBA 動作確認で、 Cells オブジェクトと Range オブジェクトを操作する
For 〜 Next 制御文でループ(繰り返し)処理を実行する
Excel 2016 for Mac 環境での説明となりますので、 Mac版 Excel 2011 では( VBA が利用できますが )同じ結果にならない場合があるかもしれません。
現状、 VBAコード 内で日本語を記述すると(貼り付けのみ可能な場合あり)乱れたり、保存時にクラッシュすることが多いため、 VBAコード は「未変換の英数字のみ」で記述してください。
Excel でブックを新規作成後、「 Excel マクロ有効ブック ( .xlsm ) 」形式で任意の「名前を付けて保存」する。
マクロ記録が失敗する場合があるため、一度 Excel を終了し、再度開き直す。
「マクロの記録」をクリック。
マクロの保存先を「作業中のブック」にして、 [OK] ボタンにて記録を開始。
「説明: 」を入力すると 対応 Sub プロシージャ の先頭コメントに反映されますが、VBE ウィンドウ内で日本語変換を行うと Excel が異常終了する場合が多いため「無変換の英数字」のみで記述します。
「A1」セルをマウス(タッチパッド)にて選択後、「記録終了」ボタンにて記録を終了。
[ alt ] + [ F11 ] にて、 VBE ウィンドウを表示。( [ option ] + [ F11 ] )
(テキスト貼り付けを利用して)上記のとおり入力します。
全て小文字で入力しても、 VBA キーワードは 勝手に先頭が大文字に変換されます。(改行後)
イミディエイトウィンドウ内で「 call Macro1() 」と入力後 [return] キーを押す方法でも Sub プロシージャを実行できます。
一文字でも誤入力すると上記のようなエラーダイアログ画面が表示されますので、 [ 中止 ] ボタンをクリック。
コード修正後に「 call Macro1() 」にて再度実行し、「A1」セルが赤色で塗りつぶしされるか確認します。
緑色の行はコメントのため、入力しなくても結果は変わりません。
なぜか纏めて実行するとエラーとなり途中で止まってしまうので、3つの Sub プロシージャに分割しました。
まだまだ、Mac版の VBA環境には問題がありそうです。
それぞれ、イミディエイトウィンドウ内で call コマンドで実行が可能です。
なお、残り2つの「マクロ記録」を行う必要はなく、 Macro1() プロシージャの Sub 〜 End Sub までの行をコピー後に貼り付けして、修正します。
Macro1() プロシージャの動作確認(A・B列に「赤」系のカラーチャートを表示)を行った後にコピーすると良いでしょう。
VBAコードの説明は明日行ないますので、間違いなく入力して「A 〜 Fの6列・1 〜 52行」のカラーグラデーションが表示されるまで頑張ってください。
お疲れ様でした!
[command] + [Q] にてExcel を終了時、「作業中のブック」を保存するか確認のダイアログ画面が表示されるため 「保存」しましょう。
現状、 VBAコード 内で日本語を記述すると(貼り付けのみ可能な場合あり)乱れたり、保存時にクラッシュすることが多いため、 VBAコード は「未変換の英数字のみ」で記述してください。
最後まで読んでいただき、ありがとうございます。
ぜひ、右側の「人気ブログランキング」投票に ご協力ください。
また、お越しくださいませ。
// アタル
まずは VBA 動作確認で、 Cells オブジェクトと Range オブジェクトを操作する
For 〜 Next 制御文でループ(繰り返し)処理を実行する
「広告」
(04) コードの説明は後にして、VBAで「カラーチャート」を作ろう!
Excel メニューバーの [ヘルプ] - [更新プログラムのチェック] にて、適用されていないアップデートがあれば行ってください。Excel 2016 for Mac 環境での説明となりますので、 Mac版 Excel 2011 では( VBA が利用できますが )同じ結果にならない場合があるかもしれません。
現状、 VBAコード 内で日本語を記述すると(貼り付けのみ可能な場合あり)乱れたり、保存時にクラッシュすることが多いため、 VBAコード は「未変換の英数字のみ」で記述してください。
まずは VBA 動作確認で、 Cells オブジェクトと Range オブジェクトを操作する
Excel でブックを新規作成後、「 Excel マクロ有効ブック ( .xlsm ) 」形式で任意の「名前を付けて保存」する。
マクロ記録が失敗する場合があるため、一度 Excel を終了し、再度開き直す。
「マクロの記録」をクリック。
マクロの保存先を「作業中のブック」にして、 [OK] ボタンにて記録を開始。
「説明: 」を入力すると 対応 Sub プロシージャ の先頭コメントに反映されますが、VBE ウィンドウ内で日本語変換を行うと Excel が異常終了する場合が多いため「無変換の英数字」のみで記述します。
「A1」セルをマウス(タッチパッド)にて選択後、「記録終了」ボタンにて記録を終了。
[ alt ] + [ F11 ] にて、 VBE ウィンドウを表示。( [ option ] + [ F11 ] )
Sub Macro1()
Range("A1").Select
Cells(1, 1).Interior.Color = RGB(255, 0, 0)
Range("A1").Select
End Sub
(テキスト貼り付けを利用して)上記のとおり入力します。
全て小文字で入力しても、 VBA キーワードは 勝手に先頭が大文字に変換されます。(改行後)
イミディエイトウィンドウ内で「 call Macro1() 」と入力後 [return] キーを押す方法でも Sub プロシージャを実行できます。
一文字でも誤入力すると上記のようなエラーダイアログ画面が表示されますので、 [ 中止 ] ボタンをクリック。
コード修正後に「 call Macro1() 」にて再度実行し、「A1」セルが赤色で塗りつぶしされるか確認します。
For 〜 Next 制御文でループ(繰り返し)処理を実行する
以下のとおり「VBAコード」を間違いなく入力するか、ブラウザ画面からコピーして貼付けすると便利です。緑色の行はコメントのため、入力しなくても結果は変わりません。
なぜか纏めて実行するとエラーとなり途中で止まってしまうので、3つの Sub プロシージャに分割しました。
まだまだ、Mac版の VBA環境には問題がありそうです。
それぞれ、イミディエイトウィンドウ内で call コマンドで実行が可能です。
なお、残り2つの「マクロ記録」を行う必要はなく、 Macro1() プロシージャの Sub 〜 End Sub までの行をコピー後に貼り付けして、修正します。
Macro1() プロシージャの動作確認(A・B列に「赤」系のカラーチャートを表示)を行った後にコピーすると良いでしょう。
Sub Macro1()
'
' Macro1 Macro
' ColorChart1 (Red)
Dim i As Integer
Dim j As Integer
j = 0
For i = 0 To 255 Step 5
j = j + 1
Cells(j, 1).Interior.Color = RGB(255, 0, i)
Cells(j, 1).Value = "255, 0, " & i
Cells(j, 2).Interior.Color = RGB(255, i, 0)
Cells(j, 2).Value = "255, " & i & ", 0"
Next i
Range("A1").Select
End Sub
Sub Macro2()
'
' Macro2 Macro
' ColorChart2 (Green)
Dim i As Integer
Dim j As Integer
j = 0
For i = 0 To 255 Step 5
j = j + 1
Cells(j, 3).Interior.Color = RGB(0, 255, i)
Cells(j, 3).Value = "0, 255, " & i
Cells(j, 4).Interior.Color = RGB(i, 255, 0)
Cells(j, 4).Value = i & ", 255, 0"
Next i
Range("A1").Select
End Sub
Sub Macro3()
'
' Macro3 Macro
' ColorChart3 (Blue)
Dim i As Integer
Dim j As Integer
j = 0
For i = 0 To 255 Step 5
j = j + 1
Cells(j, 5).Interior.Color = RGB(0, i, 255)
Cells(j, 5).Value = "0, " & i & ", 255"
Cells(j, 6).Interior.Color = RGB(i, 0, 255)
Cells(j, 6).Value = i & ", 0, 255"
Next i
Range("A1").Select
End Sub
VBAコードの説明は明日行ないますので、間違いなく入力して「A 〜 Fの6列・1 〜 52行」のカラーグラデーションが表示されるまで頑張ってください。
お疲れ様でした!
[command] + [Q] にてExcel を終了時、「作業中のブック」を保存するか確認のダイアログ画面が表示されるため 「保存」しましょう。
現状、 VBAコード 内で日本語を記述すると(貼り付けのみ可能な場合あり)乱れたり、保存時にクラッシュすることが多いため、 VBAコード は「未変換の英数字のみ」で記述してください。
「広告」
最後まで読んでいただき、ありがとうございます。
ぜひ、右側の「人気ブログランキング」投票に ご協力ください。
また、お越しくださいませ。
// アタル
「広告」
コメント