『マクロ意味』(肉)
こんばんは、
マクロで教えてください。
下記はどのような意味でしょうか?
教えていただきたいです。
時間を止める?でしょうか?40/8640000は何を表していますか?
Application.Wait [now()] + 40 / 86400000
よろしくお願いいたします
< 使用 Excel:Excel2010、使用 OS:unknown >
今から 40 ミリ秒後まで処理を待ちなさいという命令です。 ミリ秒は 1/1000秒と言う意味です。
86400000 は =24*60*60*1000 1 / 86400000 を ミリ秒に掛けると、日単位に換算されます。 (Now()は1日を1としたものなので)
(xyz) 2025/04/17(木) 20:20:28
丁寧なご説明感謝いたします。
申し訳ございません。私には難しく・・・Application.Wait [now()] + 40 / 86400000
の部分を変更したら
回ってる時間を短くできるかなと思ったのですが違いますか?
Sub 回す()
Dim i As Long, j As Long, k As Long
Call reset
For i = 40 To Application.RandBetween(50, 120)
With ActiveSheet.ChartObjects(1).Chart.SeriesCollection(1)
j = (i - 1) Mod 40 + 1
k = i Mod 40 + 1
.Points(j).Format.Fill.ForeColor.RGB = RGB(200, 200, 200)
.Points(j).DataLabel.Font.Color = vbBlack
.Points(k).Format.Fill.ForeColor.RGB = RGB(255, 80, 0)
.Points(k).DataLabel.Font.Color = vbWhite
End With
Application.Wait [now()] + 40 / 86400000
DoEvents: DoEvents
Next
End Sub
のどこを変更したら回る時間を短く出来ますか?
二度手間申し訳ございません
(肉) 2025/04/17(木) 21:17:05
そのコードはどこから持ってきましたか? グラフの描画をする余裕を持たせるために、あえて待ち時間を設けているんじゃないですか?
速度向上だけ考えたら、そのWaitメソッドをコメントにでもして実行しないようにしてみて下さい。 別の支障がでませんか?
適切なバランスをとるのは、試行錯誤しかありません。 論理的に調べることができないからです。 (xyz) 2025/04/17(木) 21:30:59
というよりも、プレゼンテーションで視覚効果を演出したものでしょうね。 時間待ちということ以上にそのプロシージャそのものが不要じゃないですか?
(xyz) 2025/04/18(金) 16:32:53
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.