電子書籍の厳選無料作品が豊富!

excelで文字のフェードアウトをさせたいです。

セルに入力したテキストを、
RGBで背景が白のセルに、白から漸次黒に変わり、黒から漸次白に変わるといった設定がしたいです。

自分で調べてなんとか記述してみたのが以下です。

Sub test1()

Dim N As Integer
Range("A1").Select
With Range("A1")
.Value = ""
.Value = "Good luck!"
.Font.Name = "Arial"
For N = 255 To 0 Step -1
.Font.Color = RGB(N, N, N)
Next N
Application.Wait [NOW()+"0:00:00.5"]
For N = 0 To 255 Step 1
.Font.Color = RGB(N, N, N)
Next N
.Value = ""
End With
End Sub

これだと速いので、もう少しゆっくりさせたいのですが、
Application.Wait [NOW()+"0:00:00.1"]
を細切れに挿入していくかしか、方法がわかりません。

御教授お願い致します!

A 回答 (1件)

API関数を使ったらどうでしょう?


Sleep 1000 で1秒です。

Declare Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Sub test01()
Dim N As Integer
With Range("A1")
.Value = ""
.Value = "Good luck!"
.Font.Name = "Arial"
For N = 255 To 0 Step -1
.Font.Color = RGB(N, N, N)
Sleep 10
Next N
Sleep 100
For N = 0 To 255 Step 1
.Font.Color = RGB(N, N, N)
Sleep 10
Next N
.Value = ""
End With
End Sub
    • good
    • 0
この回答へのお礼

早速の御回答ありがとうございます!!!
出来ました!
API関数というのがあるのですね。
調整も出来て、これだととても便利ですね!
ありがとうございます!!!

お礼日時:2009/04/08 21:39

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!