• ベストアンサー

数字をスクロール表示は可能?

数字をスクロール表示は可能? お世話になります。 シート1とシート2があります。 シート2にはAセルの縦列に数字が約1000個並んでいます。 この数字を頭の方からシート1のAセルに1秒間に1個づつ スクロール表示してゆくことは可能でしょうか? 結果的にシート1のAセルにはシート2の約1000個の数字が ならび終わるという感じです。 数字が1秒ごとにスクロールしながら降りて行く感じとなります。

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

  • ベストアンサー
  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.5

No.3・4です! ほんとうに何回もごめんなさい。 1000行を1秒間隔で表示させるとなると約16~17分かかる計算になってしまいます。 ちょっと時間的に長すぎますので、マクロを中断したい場合は Escキーを押してください。 一気に最後までマクロが実行されます。 どうも何度も何度も失礼しました。m(__)m

その他の回答 (4)

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.4

No.3です! たびたびごめんなさい。 投稿した後でNo.2さんの補足を読ませてもらいました。 貼り付け&実行方法ですが・・・ 当方使用のExcel2003の場合は シート見出し(画面の下側にSheet1・Sheet2・・となっている部分)の Sheet1の上で右クリック → コードの表示 を選択します。 その画面上に前回投稿したコードをコピー&ペーストしてください。 (Excel2007の場合も同様の方法でOKだと思います) そして、メニュー → ツール → マクロ → 実行 これでマクロが実行されます。 尚、Excel2007の場合はメニューの中の「開発」タブを選択すると マクロのアイコンが出ると思います。 どうも何度も失礼しました。m(__)m

nariyuki
質問者

補足

ありがとうございます。 今夜やってみます。 わからないときはまたお願いします

  • tom04
  • ベストアンサー率49% (2537/5117)
回答No.3

こんばんは! 一例です。 ↓のコードを貼り付けて実行してみてください。 Sub test() Dim i As Long For i = 1 To 1000 Worksheets("sheet1").Cells(i, 1).Activate Worksheets("sheet1").Cells(i, 1) = Worksheets("sheet2").Cells(i, 1) Application.Wait Time:=Now + TimeValue("00:00:01") Next End Sub 1秒ごとにマクロを実行する方法ではなく、 1秒待って、マクロを実行するようにしてみました。 以上、参考になれば良いのですが 的外れなら読み流してくださいね。m(__)m

  • jcctaira
  • ベストアンサー率58% (119/204)
回答No.2

VBAのコードは以下の通りになります。   Private Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long) Sub 数字スクロール()   Sheets("Sheet1").Select   Range("A:A").ClearContents   Application.Goto Range("A1"), True   For 行 = 1 To 1000     Cells(行, "A") = Sheets("Sheet2").Cells(行, "A")     Application.Goto Cells(行, "A"), True     Sleep (1000)     DoEvents   Next 行 End Sub

nariyuki
質問者

補足

回答をありがとうございます。 私、全くVBAというものを知らないのですがぜひやってみたいと思います。 まず、動くところを見て興味を持ちたいと思います。 このコードといわれるものはこれをどこにコピペ(?)すればいいのでしょうか?

  • MRT1452
  • ベストアンサー率42% (1391/3293)
回答No.1

セル式でそういう式があるかは、わかりかねますが、VBAであれば可能です。 タイマで1秒間隔を取り、対象セルをずらしながら転記していくようにすれば可能です。 タイマ処理の組み方に関しては、検索を掛ければ、いくつかサンプルが引っ掛かると思うので、 それらを参考にすればよいかと。