Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


57159 / 76732 ←次へ | 前へ→

【24313】Re:さっぱりわかりません・・・。
回答  ウッシ  - 05/4/19(火) 10:42 -

引用なし
パスワード
   こんにちは

シートのスクロールイベントは無いのでループで常時監視するか、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

とセットしてブックを保存終了してから再度開いて試して下さい。

1 hits

【24300】さっぱりわかりません・・・。 yayoi 05/4/18(月) 23:16 質問
【24301】Re:さっぱりわかりません・・・。 IROC 05/4/19(火) 0:21 回答
【24303】Re:さっぱりわかりません・・・。 yayoi 05/4/19(火) 8:17 質問
【24302】Re:さっぱりわかりません・・・。 m2 05/4/19(火) 8:09 回答
【24304】Re:さっぱりわかりません・・・。 yayoi 05/4/19(火) 8:19 質問
【24305】Re:さっぱりわかりません・・・。 G-Luck 05/4/19(火) 8:28 発言
【24307】Re:さっぱりわかりません・・・。 yayoi 05/4/19(火) 8:39 質問
【24308】Re:さっぱりわかりません・・・。 IROC 05/4/19(火) 8:46 回答
【24310】Re:さっぱりわかりません・・・。 yayoi 05/4/19(火) 9:09 質問
【24313】Re:さっぱりわかりません・・・。 ウッシ 05/4/19(火) 10:42 回答
【24315】Re:さっぱりわかりません・・・。 yayoi 05/4/19(火) 11:02 お礼
【24316】Re:さっぱりわかりません・・・。 yayoi 05/4/19(火) 11:12 お礼
【24306】Re:さっぱりわかりません・・・。 m2 05/4/19(火) 8:36 回答

57159 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free