|
こんにちは
シートのスクロールイベントは無いのでループで常時監視するか、Ontimeで監視する
か、APIを使ってという事になるかと思います。
ループはCPUを占有し続けるので動作が重くなりますし、Ontime、APIは画面がちらつき
ます。
取り敢えず、Ontime版で、
(Sheet2のA列にB〜AAの時の名前データ、B列にAB〜の時の名前データをセットする)
標準モジュールに
Sub Sheet_Scroll()
Dim cRng As Range
Dim pRng As Range
Dim i As Long
If ActiveSheet.Name = "Sheet1" Then
Set cRng = Worksheets("Sheet2") _
.Range("A1").CurrentRegion
Set pRng = ActiveWindow _
.Panes(ActiveWindow.Panes.Count).VisibleRange
i = IIf(pRng.Cells(1).Column > 27, 2, 1)
If cRng.Columns(i).Cells(1).Value <> Range("A1").Value Then
Application.ScreenUpdating = False
Range("A:A").ClearContents
With cRng.Columns(i)
Range("A1").Resize(.Cells.Count).Value = .Value
End With
Application.ScreenUpdating = True
End If
End If
Application.OnTime Now + TimeValue("00:00:01"), "Sheet_Scroll"
End Sub
ブックモジュールに
Private Sub Workbook_Open()
Sheet_Scroll
End Sub
とセットしてブックを保存終了してから再度開いて試して下さい。
|
|