googletag.cmd = googletag.cmd || []; }); ColorIndexを使うことで、あらかじめ設定されている色を簡単に指定できます。また、指定する色を変更することもできます。, パレットの色に対応するインデックス番号がColorIndexです。ColorIndexとデフォルトパレットの色の対応は、次の表の通りです。, 色ウィンドウに表示されるパレットとColorIndexの関係は、次の画像のようになっています。, パレットに追加した色は、ColorIndexを使用して簡単に指定できるようになります。, 文字やセル、シート見出しについてはColorIndexで色を設定することができます。, 次のサンプルコードでは、セルB2の文字にパレットの3番目の色を設定するためにRange("B2").Font.ColorIndex = 3としています。, 実行後の画像から、文字色がパレットの3番目の色である赤に変化したことを確認することができます。, 次のサンプルコードでは、セルB2の背景にパレットの3番目の色を設定するためにRange("B2").Interior.ColorIndex = 3としています。, 実行後の画像から、セルの背景色がパレットの3番目の色である赤に変化したことを確認することができます。, 次のサンプルコードでは、Sheet1の見出しにパレットの3番目の色を設定するためにWorksheets("Sheet1").Tab.ColorIndex = 3としています。, 実行後の画像から、シート見出しの色がパレットの3番目の色である赤に変化したことを確認することができます。, 文字やセル、シート見出しについてはColorIndexで色を取得することができます。, 次のサンプルコードではセルB2の文字色を取得するためidx = Range("B2").Font.ColorIndexとしています。, この、サンプルコードでは、取得した色のインデックスを確認するために、Range("C3").Value = idxとしてセルC3の値に設定しています。, また、取得した色を確認するためにRange("C3").Interior.ColorIndex = idxとしてセルC3の背景色に設定しています。, 実行後の画像からは取得した文字色のと、そのインデックス番号の3を確認することができます。, 次のサンプルコードでは、セルB2の背景色を取得するためidx = Range("B2").Interior.ColorIndexとしています。, また、取得した色を確認するために、Range("C3").Interior.ColorIndex = idxとしてセルC3の背景色に設定しています。, 実行後の画像からは取得した背景色である赤と、そのインデックス番号の3を確認することができます。, 次のサンプルコードでは、Sheet1の見出しの色を取得するためidx = Worksheets("Sheet1").Tab.ColorIndexとしています。, 実行後の画像からは取得したシート見出しの色である赤と、そのインデックス番号の3を確認することができます。, などが上げられます。確かに、業務効率化はどこの企業も目指していて、需要が高いように見えます。ただ、VBAを扱えることが強みになるかといわれると、すこし疑問があります。, VBAは基本的にエクセル上でしか使用することができません。しかし、最近では社内書式をスプレッドシートで管理している企業も増えており、今後エクセル自体の需要が少なくなってしまう可能性も考えられます。, そうなってしまうと、VBAを習得しても活躍の場が限られてしまいますよね。そう考えると将来的にVBAの需要はあまり高くないといえます。, ではVBAを学んでいる人はどうすればいいのでしょう。VBAの将来性や今後の対策などをこちらの記事でまとめているのでぜひご確認ください。, あらかじめ、パレットを編集しておくことでよく使う色をColorIndexで簡単に指定できるようになります。さらに、ExcelVBAで色を一括で設定するようにしておけば、見た目を変更したい場合にパレットを編集するだけで済みます。, ColorIndexは扱える色数が56色と少なく感じるかもしれませんが、このように便利な側面もあります。, もし、ColorIndexを使って色を指定する機会があれば、この記事を思い出してみてください。, 当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。 var pbjs=pbjs||{}; googletag.defineSlot('/21812778492/blog_300x250_common_ctc01_adsence', [300, 250], 'div-gpt-ad-1566564396953-0').addService(googletag.pubads()); 侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。, 「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。, 関西在住のITエンジニアです。普通の会社に勤務しながら、侍エンジニアのインストラクター、ライターとして活動しています。. その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。 var googletag = googletag || {}; googletag.defineSlot('/21812778492/blog_300x250_common_ctc02_adsence', [300, 250], 'div-gpt-ad-1566564559478-0').addService(googletag.pubads()); googletag.pubads().enableSingleRequest(); よく使う色を設定しておけば、簡単に指定できるようになるため重宝します。 それでは、例を交えながら詳しく解説していきます。 ... 4 VBA の将来性; 5 ... ("C3").Value = idxとしてセルC3の値に設定していま … ここではvbaを使ってセルを塗りつぶす例(条件数5個)を書いています。 セルの値が一箇所だけ変わる場合. googletag.pubads().collapseEmptyDivs(); googletag.pubads().setTargeting('blog_type', 'Tech'); googletag.defineSlot('/21812778492/blog_300x250_common_sidetop01_adsense', [[300, 250], [336, 280]], 'div-gpt-ad-1565330658303-0').addService(googletag.pubads()); pbjs.setConfig({bidderTimeout:2000}); googletag.defineSlot('/21812778492/blog_300x600_common_sidemiddle01_adsense', [300, 600], 'div-gpt-ad-1571293897778-0').addService(googletag.pubads()); googletag.defineSlot('/21812778492/blog_728x90_common_overlay', [728, 90], 'div-gpt-ad-1584694002281-0').addService(googletag.pubads()); e列の値が1~5の場合、a列~e列のセルをそれぞれの色で塗りつぶします。 コードはワークシートのモジュールに書きます。 // fixed01のWORKSが不定期なため共通処理とする 行ごとの最大値に色を付ける 完成見本:条件付き書式を用いて、行ごとの最大値に色を付けます。 この例で言えば、田中、山本、鈴木の得意な教科を調べる事です。 googletag.defineSlot('/21812778492/blog_728x90_common_eyecatch01_adsence', [728, 90], 'div-gpt-ad-1566564252373-0').addService(googletag.pubads()); }); Excelを使うときに多い操作は、罫線で表を作る、文字やセルの背景に色をつける、ではないでしょうか?, 最初に言葉の整理をしておきます。色をつけたいセルまで移動してペンキのバケツボタンや「A」のボタンをクリックして色をつけます。, どちらも色をつけると言ってしまいますが、正しくは以下のとおりです。セルの文字に色をつけるときはセルの文字色を設定するといいます。, セルそのものに色をつけるときはセルの背景色を設定するといいます。以降、これらに従い解説します。, セルの文字色を設定する場合でも、セルの背景色を設定する場合でも、主に2通りの方法があります。, RangeオブジェクトのColorプロパティを使う方法と、ColorIndexプロパティを使う方法です。セルの文字色を設定する場合は、RangeオブジェクトのFontプロパティを指定します。, セルの背景色を設定する場合は、RangeオブジェクトのInteriorプロパティを指定します。それぞれの使い方について、詳しくみていきましょう。, セルや範囲を指定し文字色を設定するには、Range.Font.Colorプロパティを使います。Rangeオブジェクトで色を設定したい範囲を記述し、Range.FontプロパティのColorプロパティで色を指定します。, もちろん、Rangeのカッコの中はRange("B2:C3")といった範囲で指定可能です。ここでRGB関数とは何か?という解説をします。, RGB関数とは、色を赤:Red、緑:Green、青:Blueの3つの組み合わせで表現するものです。試しにB2セルを選択し、「A」のマークのボタンにある▼をクリックしてください。, このことから、RGB関数は、赤青緑をそれぞれ0〜255の数値で表現し、さらに3つを組み合わせて色を表現する関数ということが分かります。, ColorIndexプロパティと色のインデックス番号の指定については、こちらで詳しく解説しています。ぜひ参考にしてください。, セルや範囲を指定し背景色を設定するには、Range.Interior.Colorプロパティを使います。, しかし「◯◯セルと同じ色に」という場合は、参照するセルごとに設定する色が都度異なる可能性があります。, セルを指定し文字色を取得するにはRange.Font.Colorプロパティを使います。, 同じようにB2セルの文字色(赤色)を取得して、B4セルの文字色に取得した色を設定します。, セルを指定し背景色を取得するには、Range.Interior.Colorプロパティを使います。, まず、範囲を指定して文字色を取得することはできません。仮にSample3()において「Range("B2:B3").Font.Color」とした場合、この式がNullを返し「実行時エラー’94’; Nullの使い方が不正です」と表示されます。, また、仮にSample4()において、背景色を取得する式を「l = Range("C2:D3").Interior.Color」と範囲指定した場合、どうなるでしょうか?, 範囲指定した中のセルが全て同じなら、問題なく動作します。ところが範囲内のうち1つでも異なる背景色があると、エラーメッセージは表示されませんが結果はこうなります。, 異なる背景色があると「Range("C2:D3").Interior.Color」が黒を意味する0を返すので、背景色を設定する際に黒になってしまいます。, これらを踏まえて、背景色を取得するなら範囲指定にせず、単独のセルで取得するようにしましょう。, 指定した範囲の書式すべてをクリアする方法と、文字色か背景色のいずれかをクリアする方法を順に解説します。, 範囲を指定して書式すべてをクリアするには、Range.ClearFormatsメソッドを使います。, 文字色をクリアするには、Range.Font.Colorプロパティを使います。クリアするというのは、色パレットで「黒」を選択するのと同じ意味です。, B4セルの文字色をクリアできました。Rangeのカッコの中は、Range("B4:D5")といった範囲の指定も可能です。, Range.Font.ColorIndexプロパティを使うこともできます。この場合クリアするというのは、インデックス番号を0で指定するのと同じ意味です。, 背景色をクリアするには、Range.Interior.Colorプロパティを使います。背景色を「白」で指定してクリアします。, ただし、背景色を「白」にしていますので、罫線まで白色になっていますRangeのカッコの中は、Range("B4")といったセルの指定も可能です。, 背景色をクリアするには、Range.Interior.ColorIndexプロパティを使う方が適しています。文字色をクリアする場合と同じようにインデックス番号を0で指定します。, このようにColorIndexプロパティを0で指定すると罫線の色も元の色に戻すことができます。, 業務で頻繁に行っている定型作業に対し、解説してきたことが適用できそうなら、ぜひVBAで自動化してみてください。, セルの文字色や背景色を設定・クリアする方法を忘れたときは、この記事を思い出してくださいね!, 当プログラミングスクール「侍エンジニア塾」では、これまで6000人以上のエンジニアを輩出してきました。 googletag.defineSlot('/21812778492/blog_300x250_common_sidemiddle02_adsense', [[300, 250], [336, 280]], 'div-gpt-ad-1565198822157-0').addService(googletag.pubads()); googletag.cmd = googletag.cmd || []; 別シート条件でセル色付けvbaマクロ作成. pbjs.que=pbjs.que||[]; googletag.defineSlot('/21812778492/blog_300x250_common_sidetop01_adsense', [[300, 250], [336, 280]], 'div-gpt-ad-1565330658303-0').addService(googletag.pubads()); 条件付き書式は通常、行や列などのある程度まとまった範囲で指定して書式を設定することになると思いますが、実際のセルに設定されている値とあらかじめ設定しておいた条件値で判定してセルに色付けできるときっと便利ですよね。 googletag.defineSlot('/21812778492/blog_728x90_common_eyecatch01_adsence', [728, 90], 'div-gpt-ad-1566564252373-0').addService(googletag.pubads()); googletag.defineSlot('/21812778492/blog_300x250_common_sidemiddle01_adsense', [[300, 250], [336, 280]], 'div-gpt-ad-1565198726712-0').addService(googletag.pubads()); Excelを使うときに多い操作は、罫線で表を作る、文字やセルの背景に色をつける、ではないでしょうか? VBAで文字や背景に色をつけることができると、とても便利ですよね。本記事では、 セルに色を設定する方法 セルの色を取得する方法 といった基本的な内容から、 セルの色をクリアする方法 googletag.cmd.push(function() { googletag.defineSlot('/21812778492/blog_300x250_common_fixed02_adsense', [[300, 250], [336, 280]], 'div-gpt-ad-1565198391774-0').addService(googletag.pubads()); pbjs.que=pbjs.que||[]; セルの値が80点以上なら色をつけるマクロを考えます。 80点以上ならピンクという条件判定処理を、If~Then~Else ステートメントで行います。 googletag.pubads().enableSingleRequest(); var pbjs=pbjs||{}; googletag.defineSlot('/21812778492/blog_300x250_common_sidemiddle01_adsense', [[300, 250], [336, 280]], 'div-gpt-ad-1565198726712-0').addService(googletag.pubads()); 入力された値を判断して、セルに背景色を塗る Excel 2013 マクロ講座. googletag.pubads().setTargeting('blog_type', 'Tech'); googletag.defineSlot('/21812778492/blog_728x90_common_overlay_adsence', [728, 90], 'div-gpt-ad-1583302554779-0').addService(googletag.pubads()); googletag.defineSlot('/21812778492/blog_300x250_common_fixed02_adsense', [[300, 250], [336, 280]], 'div-gpt-ad-1565198391774-0').addService(googletag.pubads()); その経験を通してプログラミング学習に成功する人は、「目的目標が明確でそれに合わせた学習プランがあること」「常に相談できる人がそばにいること」「自己解決能力が身につくこと」この3つが根付いている傾向を発見しました。 googletag.defineSlot('/21812778492/blog_300x250_common_fixed01_adsense', [[300, 250], [336, 280]], 'div-gpt-ad-1565194485392-0').addService(googletag.pubads()); Excelの条件付き書式は便利ですよね。条件によってセルに色付けしてデータをわかりやすく参照する時などにとても有効ですね。, ですが、条件設定がわかりにくかったり、メモリを消費して重くなったり、行コピーすると設定がおかしくなったり、いろいろと残念な場面が結構ありませんか?, そんな時、複数の色や複数の条件を簡単に設定管理し、色付けしてデータを解析しやすくなると作業も効率化できると思います。, そこで、別シートに細かく設定した背景色とフォント色、検索キーワードの条件を一覧で設定し、セル単位に簡単に色付けできるマクロを作成してみました。, 百聞は一見に如かず、一目瞭然、一発でイメージが湧き、使い方がわかるようなGIFアニメ付きです。, 条件付き書式を完璧に使いこなしている人はよいですが、管理が面倒と感じている人は条件付き書式を使うことを躊躇してしまいますよね。, 個人的には、Excelの条件付き書式による一番の致命的な問題は、行コピーすると設定がおかしくなる点にあると思ってます。下記画像のように。, 行コピーは誰でも普通に使う操作なので、条件付き書式を敬遠してしまう一つの要因になりますよね。壊れまくってしまった条件をメンテしていこうとは思わないですからね。, 条件付き書式で設定されたセルの状態をそのまま別ブックや別シートに条件付き書式なしで背景色やフォント色をコピーしたい時ってありませんか?, 残念ながら、条件付き書式自体が一緒にコピーされてしまいます。裏技があるかもしれせんが、通常の操作ではたぶん不可能です。, 条件付き書式は当然使いこなせればとても便利ですが、個人的にはとても使いづらい機能であることは否めません。, 誰かがきっとメンテしてくれるから、条件付き書式はいじらない、壊れても気にしない、という人はよいと思いますが、仕事などで使う大事なデータをきっちり管理し、メンテしていく人にとっては別の手段を考えてみてもよいのかなと思います。, かく言う私は結構バリバリ条件付き書式を使ってますが、使いづらいなぁと感じることは多々あるので、上記問題点を少しでも軽減するために条件付き書式を使わずとも設定条件により柔軟に色付けできる方法を模索してみました。, 条件付き書式は通常、行や列などのある程度まとまった範囲で指定して書式を設定することになると思いますが、実際のセルに設定されている値とあらかじめ設定しておいた条件値で判定してセルに色付けできるときっと便利ですよね。, 別シートに色を設定できると、一目瞭然でどんな条件でどの色を付けるかわかりやすく管理できると思ってます。, 対象シートのセルに設定された文字列データ、日付データ(時刻含む)、数値データを判定できる仕様としています。, 条件付き書式は枠線など、いろいろな書式設定が可能ですが、最も視覚的にデータの解析に有効な色の判断が最も重要ですよね。, 別シートに設定したフォント色と背景色で検索にひっかかったセルに色付けする処理としています。, セルの色付けでデータ解析効率を爆上げしたい方は、下記のソースコードを以下↓↓↓のリンクの内容に従って個人用マクロにコピーしてご使用ください。, マクロならば、痒いところに手が届きます。用途によっては目的に沿わない可能性がありますが、Const値を持たせてなるべく汎用的に作成しています。, コピーしやすいように無理やり一つのSub関数にまとめてますが、別関数化してパラメータや変数で使い分けるのが正しいやり方ですね。, 自分に合った方法にカスタマイズしてみてください。VBAマクロの勉強にも少しは役立つと思います。, アクティブシートの全セルデータを対象とする場合は「セルを別シートの条件によって色付け1()」、選択セルデータのみに絞りたい場合は「セルを別シートの条件によって色付け2()」を実行してください。, 色シートは任意で適当に設定してもらってよいですが、全セルで文字列型にしてください。 テンプレート「新規シートを作成して色テンプレート設定()」を実行してカスタマイズしてみてください。, マクロを使うとCtrl+Zでは元に戻らないのでご注意ください。マクロを使う場合はブックを保存した状態で実行する癖を付けることをオススメします。, Excelの使い方は人それぞれ、いろんなやり方があると思いますが、一例としてご紹介させていただきました。, ExcelVBAマクロはちょっとした向上心さえあれば、取っ付きやすいプログラムなのでショートカットキーなどと組み合わせてぜひ活用してみてください。, ちょっと工夫すれば、ちょっとした操作に1分かかっていた作業を10秒でこなすことができるようになる可能性があります。, それだけでも、積み上げれば相当の工数を削減できるはずなので、ぜひ自分に合ったやり方を模索していきましょう。, 【Excel】超便利な個人用マクロブックにVBAを記録追加作成して実行【初心者も簡単】. googletag.defineSlot('/21812778492/blog_300x250_common_fixed01', [[300, 250], [336, 280]], 'div-gpt-ad-1559710191960-0').addService(googletag.pubads()); googletag.defineSlot('/21812778492/blog_300x250_common_ctc01_adsence', [300, 250], 'div-gpt-ad-1566564396953-0').addService(googletag.pubads()); 侍エンジニア塾は上記3つの成功ポイントを満たすようなサービス設計に磨きをかけております。, 「自分のスタイルや目的に合わせて学習を進めたいな」とお考えの方は、ぜひチェックしてみてください。, フリーランスのエンジニアです。 // fixed01のWORKSが不定期なため共通処理とする googletag.defineSlot('/21812778492/blog_468x60_common_eyecatch02_adsence', [728, 90], 'div-gpt-ad-1567575393317-0').addService(googletag.pubads()); googletag.cmd.push(function() { googletag.defineSlot('/21812778492/blog_728x90_common_overlay_adsence', [728, 90], 'div-gpt-ad-1583302554779-0').addService(googletag.pubads()); pbjs.setConfig({bidderTimeout:2000}); googletag.defineSlot('/21812778492/blog_300x250_common_fixed01', [[300, 250], [336, 280]], 'div-gpt-ad-1559710191960-0').addService(googletag.pubads()); googletag.enableServices(); その経験を活かして分かりやすい記事を作成できればと考えています。. 最近では、プログラミング関連の記事を作成するライターとしても活動しています。, 趣味と業務の両方でプログラミング言語をいくつも学んできたので googletag.defineSlot('/21812778492/blog_300x600_common_sidemiddle01_adsense', [300, 600], 'div-gpt-ad-1571293897778-0').addService(googletag.pubads()); googletag.defineSlot('/21812778492/blog_300x250_common_fixed01_adsense', [[300, 250], [336, 280]], 'div-gpt-ad-1565194485392-0').addService(googletag.pubads()); googletag.enableServices(); googletag.defineSlot('/21812778492/blog_300x250_common_sidemiddle02_adsense', [[300, 250], [336, 280]], 'div-gpt-ad-1565198822157-0').addService(googletag.pubads()); var googletag = googletag || {}; googletag.defineSlot('/21812778492/blog_468x60_common_eyecatch02_adsence', [728, 90], 'div-gpt-ad-1567575393317-0').addService(googletag.pubads()); 点数が80点以上ならセルに色をつける. googletag.defineSlot('/21812778492/blog_300x250_common_ctc02_adsence', [300, 250], 'div-gpt-ad-1566564559478-0').addService(googletag.pubads()); googletag.defineSlot('/21812778492/blog_728x90_common_overlay', [728, 90], 'div-gpt-ad-1584694002281-0').addService(googletag.pubads());