クレイは、特定のセルを選択すると、Excelが別のセルの内容を自動的に太字にする方法があるかどうかを知りたがっています。たとえば、セルK5を選択した場合、セルC5にあるものはすべて太字で表示します。彼がセルK5を離れると(別のセルに移動するため)、セルC5は、K5を選択する前の状態に戻る必要があります。

解決策を考え出す際に、条件付き書式を使用してセルC5に書式を適用できると思うかもしれません。理論的には、これは簡単に実行できるはずです。次の式に基づいて条件付き書式ルールを作成するだけです。

=CELL("address")="$K$5"

ここで使用されているCELL関数は、選択されたセルのアドレスを返すため、セルK5が選択されるたびに、ルールのフォーマット(この場合はセルを太字に設定)が適用されます。ただし、このアプローチの問題は、実際にはうまく機能しないことです。

その理由は、CELL関数は、ワークシートが再計算されたときにのみ評価されるためです。セルK5を選択しただけの場合、ワークシートは再計算されないため、数式はTrueに解決されず、条件付き書式は適用されません。それが機能する唯一の方法は、セルK5を選択し、F9を押してワークシートを再計算することです。そうすると、セルC5が太字で表示されます。

フォーマットを行う最良の方法は、マクロ、特にワークシートのSelectionChangeイベントに関連付けられたマクロを使用することです。このイベントは、選択したセルが変更されるたびにトリガーされます。次のマクロは、セルK5が選択されているかどうかを確認します。そうである場合、セルC5は太字になります。そうでない場合、セルC5は「太字」ではありません。

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If ActiveCell.Address(False, False) = "K5" Then         Range("C5").Font.Bold = True     Else         Range("C5").Font.Bold = False     End If   End Sub

このマクロは、適用されるシートのコードに追加されることに注意してください。[ワークシート]タブを右クリックして、[コードの表示]を選択します。ここにマクロを配置する必要があります。ワークシートで選択した内容を変更するたびにマクロが実行されるため、セルC5の「太字のステータス」は継続的に更新されます。

マクロはセルのBoldプロパティを効果的に切り替えることに注意してください。

したがって、K5以外のセルを選択した場合、セルC5にあるものはすべて太字になりません。もちろん、これは、セルC5に太字で表示される他の条件付き書式ルールが定義されている場合には適用されません。その場合、条件付き形式は、この特定のマクロが実行する可能性のあるすべてのものよりも優先されます。

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(13178)は、Microsoft Excel 2007、2010、2013、2016、2019、およびOffice365のExcelに適用されます。