オフィスソフト

「Excel」の書式設定--コンボボックス内の値に応じてセルの書式を変更

「Excel」のコンボボックスで選択した値に基づいて、セルの書式を設定することができる。条件付き書式、コンボボックス、VBAプロシージャーを組み合わせた方法を紹介する。

 コンボを使用するには、ドロップダウンをクリックして任意のアイテムを選択する。図Bでは、「Gold」が選択されていることが分かる。コントロールをB2の近くに埋め込むように書いたのはこのためで、コンボで選択した項目に応じて、リンクされたセルB2の内容が更新されるのを確認することができる。別の項目を選択して、それに応じてB2が更新されるのを確認してみよう。

図B

コンボで選択した項目がB2に表示される。
コンボで選択した項目がB2に表示される。

コンボボックスの書式を設定する方法

 コンボボックス自体の書式を設定する必要はないはずだが、いくつかオプションが用意されている。ここでは説明のために、短いVBAプロシージャーを使用してフォントの色を変更する。これを行うには、「開発」タブの「コントロール」グループの「デザインモード」をクリックする(必要な場合)。次に、コントロールをダブルクリックして、「Visual Basic Editor」(VBE)を開き、現在のシート(Sheet1)のモジュールを表示させる。ここに、コントロールのChangeイベントプロシージャーのスタブが含まれている。リストAのコードを追加して、このプロシージャーを完成させる(このウェブページからコードをコピーしないでほしい。VBEは見えないウェブ文字を解釈できない。コードをテキストエディターにコピーして、そこからモジュールにコピーしよう。あるいは、ダウンロード可能なモジュールファイルにもこのプロシージャーが含まれている)。リボンバージョンを使用している場合は、ワークブックに戻って、ファイルをマクロ有効ブック(.xlsm)として保存する。

リストA

Private Sub ComboBox1_Change()
(選択された値に応じてコントロールのフォントの色を変更する)
Dim cbo As ComboBox
Set cbo = ComboBox1(コントールの名前を変更した場合は、必ずこの定義を更新する)
Select Case cbo.Value
    Case "Standard"
        cbo.ForeColor = vbRed
    Case "Silver"
        cbo.ForeColor = vbCyan
    Case "Gold"
        cbo.ForeColor = vbYellow
    Case "Platinum"
        cbo.ForeColor = vbMagenta
    Case "Diamond"
        cbo.ForeColor = vbBlue
End Select
End Sub

「オフィスソフト」で読まれている記事

TechRepublic Japanで人気の記事

編集部オススメ

トレンドまるわかり![PR]

財務・経理
人事・労務
マーケ・営業
購買・調達
生産・製造
データ分析
コミュニケーション
通信・通話
文書・コンテンツ
PC・モバイル
PC
スマートフォン
タブレット
ウェアラブル
オフィスソフト
OCR
RPA
PCソフト
周辺機器
新興技術
ITインフラ
クラウドサービス
OS・ミドルウェア
開発
データベース
運用
セキュリティ

ホワイトペーパーランキング

  1. 5分でわかる、レポート作成の心得!成果至上主義のせっかちな上司も納得のレポートとは
  2. ノートPCは従来ながらの選び方ではダメ!新しい働き方にも対応する失敗しない選び方を徹底解説
  3. 問題だらけの現場指導を効率化!「人によって教え方が違う」を解消するためのマニュアル整備
  4. 緊急事態宣言解除後の利用率は低下 調査結果に見る「テレワーク」定着を阻む課題とその対応策
  5. たしか、あのデータは、こっちのアプリにあったはず…--業務改善のためのアプリ導入がストレスの原因に?

Follow TechRepublic Japan

このサイトでは、利用状況の把握や広告配信などのために、Cookieなどを使用してアクセスデータを取得・利用しています。 これ以降ページを遷移した場合、Cookieなどの設定や使用に同意したことになります。
Cookieなどの設定や使用の詳細、オプトアウトについては詳細をご覧ください。
[ 閉じる ]