[[20120414064358]] 『任意のアクティブセルの値を自動的に別のセルに表』(ビギナー) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『任意のアクティブセルの値を自動的に別のセルに表示する』(ビギナー)
任意のアクティブセルの値を指定された特定のセルに表示する方法を教えてください。たとえば、アクティブセルがA1の場合、A1の値をB1に表示します。アクティブセルがA2に移動したらA2の値をB1に表示します。アクティブセルがA3に移動したらA3の値をB1に表示します。表示されるセルは常にB1です。マクロが必要ですか?
Excel2003
WindowsXP

 関数でアクティブセルを取得する方法はある。たとえば =INDIRECT(ADDRESS(CELL("ROW"),CELL("COL")))
 あるけど、
・まず、これだけでは動かないので、VBAでちょこっと「おまじない」を書く必要がある。
・なによりもネックなのは、たとえば、その式をB1 に書いた瞬間、アクティブセルは B1 なので 「循環参照」になってしまう。

 どうしても、これでやるなら B1 に式を入れる前に、計算を手動にして、式を入れおわったら別のセルを選択して計算を自動に。
 その後、シートモジュールに、以下を書く。

 Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Me.Calculate
 End Sub

 ここまでして、「関数処理」をする必要はないんじゃない?
 私なら、単純にシートモジュールに以下を書いて対処する。

 Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Range("B1").Value = ActiveCell.Value
 End Sub

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.