私は VBA にはかなり慣れていませんが、これらのフォーラムを読んで自分の道を見つけました。Application.ScreenUpdating が機能しないという問題は一度もありませんでした。オンラインで調査した後、問題の解決策が見つかりません。
デイリー チェックリストに 1 か月のビューを表示するデイリー チェックリスト アプリケーションを Excel で作成しました。タスクは行に並んでおり、カレンダー上のその日のタスクについて、はい、いいえ、または N/a を選択するだけです。チェックリストを保存すると、情報が別のタブのデータ シートにコピーされます。情報を保存するときに Application.Screenupdating が機能せず、データシートとカレンダービューの間でちらつきやジャンプが発生することを除いて、すべてが完全に機能します。
Application.ScreenUpdating が false に変更されない理由に関するアイデアやガイダンスはありますか? さまざまな場所で動かしてみましたが、何もうまくいかないようです。
保存チェックリストのサブは次のとおりです。
Sub Save_Checklist()
Dim Checklist_Date
Dim Completed As Long
Dim Left_to_Complete As Long
Dim Database_Date As Range
Dim Database_Row As Long
Dim bScrUpdate
bScrUpdate = Application.ScreenUpdating
If bScrUpdate = True Then Application.ScreenUpdating = False
Worksheets("Database").Unprotect Password:="youngC"
If MsgBox("This button will save this month's checklist data into the database. All previous information will be overwritten. Would you like to continue?", vbYesNoCancel, "Reset the Calender") = vbYes Then
Checklist_Date = Worksheets("Daily Checklist").Range("E4").Value
Add_to = Worksheets("Daily Checklist").Range("AL1").Value
Range("E55").Select
ActiveCell.Resize(2, Add_to).Select
Selection.Copy
On Error Resume Next
With Worksheets("Database").Activate
Range("A1:A366").Select
Selection.Find(What:=Checklist_Date, After:=ActiveCell, LookIn:=xlValues, LookAt:= _
xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Select
On Error GoTo 0
If Not Database_Date Is Nothing Then Application.Goto Database_Date, True
End With
Selection.Offset(0, 1).PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
Worksheets("Database").Protect Password:="youngC"
Else
MsgBox ("Please be sure all information is correct before saving it.")
End If
If Not Application.ScreenUpdating = bScrUpdate _
Then Application.ScreenUpdating = bScrUpdate
End Sub
これは、ワークブックを開いたときに実行したコードです (「月のカレンダーにタスクを追加」シートでグループ化しています)。
Private Sub Workbook_Open()
Worksheets("Main Menu").Activate
With Worksheets("Add Tasks to Month's Calendars")
.EnableOutlining = True
.Protect Password:="youngC", _
Contents:=True, UserInterfaceOnly:=True
End With
End Sub
どんな助けでも大歓迎です。
ありがとう、クリス