次の方法で共有


EXCEL2016で画面が更新されない件

質問

2018年7月2日月曜日 3:12

EXCEL2013では、下記のコードでの画面が更新できるのですが、EXCEL2016では、更新できません

Sub 力の法則()
    Worksheets(2).ChartObjects(1).Activate
    ActiveChart.SeriesCollection(1).Select
    For i = 1 To 20
    Range("c7").Value = i * 1
    ts = Timer ; 1
    Do Until ts < Timer
    Loop
    Application.ScreenUpdating = True
    Next
End Sub

EXCEL2016のバージョンは、1806(ビルド10228_20080)で、ウィンドウ10のバージョンは1709(16299.522)です

何か、解決策はあるのでしょうか?

よろしくお願いします

すべての返信 (4)

2018年7月2日月曜日 3:56 ✅回答済み

ループで止まっている間にDoEventsいれてみる?

Sub 力の法則()
    Dim ts As Date
    ts = Now

    For i = 1 To 20
        Range("c7").Value = i * 1
        ts = DateAdd("s", 1, ts)
        Do Until ts <= Now
            DoEvents
        Loop
        Application.ScreenUpdating = True
    Next
End Sub

個別に明示されていない限りgekkaがフォーラムに投稿したコードにはフォーラム使用条件に基づき「MICROSOFT LIMITED PUBLIC LICENSE」が適用されます。(かなり自由に使ってOK!)


2018年7月3日火曜日 1:07

Application.ScreenUpdating = False   ’ これを追加

Application.ScreenUpdating = True

ってやったらどうでしょうか?


2019年11月19日火曜日 5:34

返信が遅れて、申し訳ありません

たしかに「DoEvents」を入れると、画面更新できました

ありがとうございました


2019年11月19日火曜日 5:38

ご連絡、ありがとうございます。

ただ、Application.ScreenUpdating = Falseを入れても、変化がありませんでした