2010年5月16日日曜日

全シートでセルの選択範囲を同期(Excel VBA)

 標準モジュールへ以下のコードを書く。


Public GlobalCellRange As String


 WorkSheetへ以下のコードを書く。


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
GlobalCellRange = Target.Address
End Sub

Private Sub Worksheet_Activate()
Range(GlobalCellRange).Select
End Sub


 ほぼ同じデータが入力されたシート同士を比較するときに、各シートの同じセルを手動で選択しながら比較する事が(僕の場合は)良くあるので自動化してみた。


 ファイル名を"SelectSync.xls"とでもして、読み取り専用で持っておき、データを比較するときに使い捨てれば良い。


 比較シートを増やしたい場合、シートをコピーすればシート内のコードもコピーされるため、各シートにちまちまと同じコードをコピペする必要はない。


 今後の課題:シート切替時に、同一セルを選択するだけでなく、アクティブセル、表示されている範囲まで同期できれば、なお使い易いと思われる。

0 件のコメント:

コメントを投稿