まりふのひと

Excel/選択したセルの行や列に色を付ける-ドロップダウンリストで適用を切替える

 2022-08-08のブログ「Excel/選択したセルの行や列に色を付ける」の宿題で、ドロップダウンリストで適用するか/否か が出来るか...



試行したワークシート

  • ファイル名:田布施町COVID-19発生件数.xlsm(マクロ有効シート)
  • シート名:データ
  • 構成:
    • 1~5行目まで「行固定」してある。
    • 当初はA~E列までであったが、年代別入力のため F~R列を追加した。
    • B列とF列、C列とQ列は重複しているが、これはグラフを作り易くするため。

切り替えボタン(ドロップダウンリスト)の作成

 EXCEL屋さんのサイトを参考に、選択したセルの行や列に 色を付ける/付けないドロップダウンリストを作成した。

  • シート名:設定
    • 名前は任意なれど、後から変更するとおかしくなるかも...
    • 今回は拡張性を考慮し、独立したシートを新規作成した。
      • やってみたかっただけ...
      • シートが1枚であれば、そのシートの空いているセルを使えばよい。
  • ドロップダウンリストの設定
    1. セルB1 を選択する。
    2. データ タブ/データツール グループの[データの入力規制]をクリックする。
    3. 設定 タブで、
      • 入力値の種類:「リスト」とし、
      • 元の値: "ON,OFF" を入力した。
      • チェックは右図のとおりとし、
      • [OK]
  • 完成状態
    • セルA1 は任意

VBEの設定

 VBEの設定:8/8 のブログで設定したままで

  • ThisWorkbook のコード
    Private Sub Workbook_SheetSelectionChange(ByVal Sh As Object, ByVal Target As Range)
    Application.ScreenUpdating = True
    End Sub

ワークシートの条件付き書式

 8/8 のブログではセルを範囲していしたが、拡張性を考慮し「列の範囲指定」で設定した。

  1. 書式設定する範囲(A~R列)を選択する。
  2. ホーム・タブ/スタイル・グループの[条件付き書式]⇒ 新しいルール をクリックする。
    • 前回の条件付き書式が残っていると二重登録になるので、古い方を削除する必要がある。
    • 他に条件付き書式を設定しているケースもあるので、削除は慎重に...
  3. ▶数式を使用して、書式設定するセルを決定 を選択し、
  4. [書式(E)...]をクリックする。
    1. 塗りつぶし・タブを選択し、
    2. 塗りつぶす色を選択する。
    3. [OK]をクリックする。
  5. 次の数式を満たす場合に値を書式設定 欄に下記を入力(コピペ)した。
    =AND(設定!$B$1="ON",OR(CELL("ROW")=ROW(),CELL("COL")=COLUMN()))
    • 前回は
      OR(CELL("ROW")=ROW(),CELL("COL")=COLUMN()))
      だった。
    • 今回は、設定シートのセルB1が "ON" で‥‥ を追加した。
    • ON でなければ何もしない‥‥ ことになるようだ。
  6. [OK]で閉じる。
  7. 動作を確認する。
     設定 シートのドロップダウンリストを変え、
    • 「ON」にすると、色が付く。
    • 「OFF」または削除すると、色が付かない。