2010年5月19日水曜日

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

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


Public GlobalCellRange As String
Public GlobalTopRow As Long
Public GlobalTopColumn As Long

Public Sub GetScrollPos()
With ActiveWindow
GlobalTopRow = .ScrollRow
GlobalTopColumn = .ScrollColumn
End With
End Sub

Public Sub SetScrollPos()
With ActiveWindow
.ScrollRow = GlobalTopRow
.ScrollColumn = GlobalTopColumn
End With
End Sub


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


Private Sub Workbook_Open()
Call GetScrollPos
GlobalCellRange = Selection.Address
End Sub


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


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

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


 前回の課題であった「表示されている範囲の同期」は達成。

 今後の課題:ズームも同期出来るようにする。

0 件のコメント:

コメントを投稿