2016-06-28 3 views
0

1行に月と年(1月16日、3月17日など)の配列があります。魔法のようにアドレスが他の場所で参照されているセルをアクティブにするマクロ

=CELL("address",INDEX(E3:BL3,MATCH(D1,E3:BL3,0))). 

作品:私は与えられた年と月のアドレスを(私は、ドロップダウンメニューで選択した月と年に基づいて)現在の月を見つけて、吐き出すます式を有します。今私は、アドレスを含むセルを見て、参照しているセルのセルをアクティブにするようにマクロをプログラムする方法を知っておく必要があります。

たとえば、吐き出すアドレスがZ3の場合、マクロはZ3に移動して起動します。毎月私は新しい月と新しいセルを参照するので、動的である必要があります。

+0

何を試しましたか?あなたのコードを投稿してください。 – litelite

答えて

0

ドロップダウンがセルA1にリンクされていると仮定すると、そのセルの変更でイベントを発生させることができます。このイベントは、数式に示されたセルアドレスにフォーカスを移動します(私はここではB1と仮定しています)。 Workbook_SheetChangeイベントに次のコードを追加します。

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range) 
    If Target.Address = "$A$1" Then 
     Dim rngAddress As Range 
     Set rngAddress = ThisWorkbook.Sheets(1).Range("B1") 'Location of your address formula 
     ThisWorkbook.Sheets(1).Range(rngAddress.Value2).Select 
    End If 
End Sub 
+0

ありがとう! 「Workbook_SheetChange」イベントにコードを配置するとどういう意味ですか(私はvbaに精通していません)?私は通常、マクロを追加し、モジュールボックスにコードを書きます。これは同じものではありませんか? –

+0

私は達成したいことの全範囲を説明しなければならないと思います。 月ごとに結果を出すスプレッドシートです。毎月、実際のモデルを更新します。 私は要約ページのアドレスを吐き出す式を持っています。そして、参照されたセルが存在する列全体を強調表示する必要があります。列全体がコピーされ、右側に貼り付けられます。この同じシーケンスは複数のタブで繰り返されます(各タブの同じ列)。 –

+0

あなたのさらなる指示は、あなたの元の質問の範囲外です。最初に投稿された質問と最初のコメント/質問に基づいて... VBAウィンドウ(Alt + F11)を開くと、エクスプローラパネルでドキュメントを表すVBAプロジェクトに移動します。 Microsoft Excelオブジェクトでは、 "ThisWorkbook"オブジェクトをダブルクリックします。これにより、提供されたコードを貼り付けることができるページが開きます。お役に立てれば。 – nbayly

関連する問題