• ベストアンサー

シートを動かす(切り替える)方法

エクセルを使って簡単なアニメを作成しようと思います。 そこで下の画像のように、スピードの部分に適当な数値を入れて スタートをクリックすると、Sheet1~Sheet8まで自動的にコマ送りといえばいいのでしょうか動作をして 目次のシートに戻るVBAが分かれば教えていただきたく質問しました。 分かる方からのアドバイスをいただけるとありがたいです。よろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.1

シートを切り替えるだけならこんな感じでどうでしょう。 目次シートのC5セルには切り替え時間をミリ秒で入れておいてください(とりあえず500=0.5秒ぐらいで試してみて下さい)。 Public Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sub Sample()   nSec = Worksheets("目次").Range("C5")   For i = 1 To 8     Sheets("Sheet" & i).Select     Sleep nSec   Next i   Sheets("目次").Select End Sub

jugyou1
質問者

お礼

シートの切り替えが実行されているような気がしますがアニメのような感じで動かないなあと思って返信させていただきました。 プログラム自体が間違っていないような気がしますので別に原因で考えられるものがあれば教えていただければと思ってコメントさせていただきました。 アドバイスお願いできると幸いです。

その他の回答 (2)

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.3

> 実行するとエクセル画面の左下のシート名が表示されているタブのようなものは動くのですが、それに各シートが連動して動作しないということが起きています。(「目次」シートが表示されたままということです) 環境の違いでしょうかね? 当方、Excel2010で動作確認しています。 コードを以下のように変えるとどうでしょう。 Sheets("Sheet" & i).Select ↓ Sheets("Sheet" & i).Active

jugyou1
質問者

お礼

回答ありがとうございます。うまくいかないです。ということは、パソコンがおかしそうですね・・・

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.2

> シートの切り替えが実行されているような気がしますがアニメのような感じで動かないなあと思って返信させていただきました。 ・表示シートの切り替えが行われていると断言できないと言うのはどんな状態なのでしょうか? ・「アニメの様な感じ」が何を意味しているのか解りません。切り替え時間が長すぎてスムーズではないという事なら目次シートC5セルの切り替え時間を短くしてみて下さい。

jugyou1
質問者

お礼

回答ありがとうございます。 ボタンはActiveXコントロールボタンを使いモジュールの部分にコード入力を行いました。 実行するとエクセル画面の左下のシート名が表示されているタブのようなものは動くのですが、それに各シートが連動して動作しないということが起きています。(「目次」シートが表示されたままということです) これはパソコンの問題なのかなあとも思ってしまいます。アドバイスいただけると幸いです。 最近