Excelでは、数式バーの左側にある名前ボックスの内容を調べることで、現在選択されているセルの場所を簡単に確認できます。これは問題ありませんが、実際にセル内のセルのアドレスを取得したい場合があります。たとえば、セルA1に現在選択されているセルのアドレスを含めることができます。

これは、セルE4が選択された場合、A1にはそのアドレス、つまり$ E $ 4が含まれることを意味します。次に右矢印キーを押すと、A1の内容が$ F $ 4に変わります。

現在選択されているセルのアドレスを返すには、マクロを使用する必要があります。次のマクロは、実行時に選択されたセルの値を返します。

Public Function CurrentCell() As String     Application.Volatile     CurrentCell = ActiveCell.Address End Function

Application.Volatileメソッドが含まれているということは、ワークシートが再計算されるたびに、この関数(マクロ)が再度実行されることを意味します。マクロを使用するには、A1を含む任意のセルに以下を配置できます:

=CurrentCell

このマクロでは、別のセルに移動するたびにA1の内容が変更されるわけではないことに注意してください。この場合も、A1の内容は、ワークシートの内容を変更するか、F9キーを押して、ブックが再計算された場合にのみ変更されます。

代わりに、選択したセルが変更されたときにA1を自動的に更新する「リアルタイム」バージョンが必要な場合は、次の手順を実行できます。

。 Alt + F11を押して、VBAエディターを表示します。

。 [プロジェクト]ウィンドウのエディターの左側で、使用しているワークシートの名前をダブルクリックします。 (最初にVBAProjectフォルダーを開き、次にその下のMicrosoft Excelオブジェクトフォルダーを開く必要がある場合があります。)

。ワークシートのコードウィンドウで、[オブジェクト]ドロップダウンリストをクリックし、[ワークシート]を選択します。これを行うと、プロシージャがSelectionChangeに変更され、イベントハンドラのフレームワークがコードウィンドウに表示されます。

。次のように表示されるようにイベントハンドラーを変更します。

。 VBAエディターを閉じます。

さて、この一枚のシートを移動するとき、A1の内容はあなたの場所を反映するために絶えず更新されるべきです。

注:

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

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

このヒント(2302)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。