[[20140529130918]] 『マクロでシートを一定時間で切り替えたい』(たやこ) ページの最後に飛ぶ

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

 

『マクロでシートを一定時間で切り替えたい』(たやこ)

VBA初心者です。
エクセルで複数の掲示物を表示したいです。(スライドショーのように)
シートごとに掲示物を作成しました。これを一定時間(例えば5秒)で順番に切り替えて表示していき、最後のシートになったらまた、最初のシートから表示させていくということができればと考えています。
例)
sheet1,sheet2,sheet3それぞれにマクロ実行ボタンを置き、ボタンを押すとsheet1から5秒おきに順番に表示され、このループを繰り返す。抜けたい場合は、表示されているシートをクリックしてアクティブになったらループから抜けられる。※抜ける方法は違う方法でも可。
出来ればシートを増やしたり、減らしたりしても、すべてのシートを順番に表示したいです。
※インターネットで調べてマクロをコピーして標準モジュールに貼り付ける程度のど素人です。
どなたかご教示いただければ幸いです。

< 使用 Excel:Excel2007、使用 OS:Windows7 >


[標準モジュール]
Public dpNext As Date
Public ip As Long

 Public Sub sTimer()
    If ip = 0 Then
        Application.OnTime dpNext, "sTimer", , False
    Else
        ip = ip Mod Sheets.Count + 1
        Sheets(ip).Select
        dpNext = DateAdd("s", 5, Now)
        Application.OnTime dpNext, "sTimer"
    End If
End Sub

[各シートモジュール]

 Private Sub CommandButton1_Click()
    If ip = 0 Then
        ip = 1
        CommandButton1.Caption = "STOP"
    Else
        ip = 0
        CommandButton1.Caption = "START"
    End If
    Call sTimer
End Sub
(???) 2014/05/29(木) 15:02

(???)さんどうもありがとうございます
ボタンも分かりやすい仕様になって、すごく感動しました。
重ねてありがとうございました。
(たやこ) 2014/05/29(木) 15:34

コメント返信:

[ 一覧(最新更新順) ]


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