我有一个启用宏的工作簿,它在“提交框”上进行数据验证,用户每月输入经过验证的消费信息,如果一个值看起来不寻常(按下提交按钮后)它被标记并触发条件格式突出显示可能需要在表单上更正的字段。
我的问题是条件格式不会更新,除非我单击条件格式菜单并管理规则(我只需按“确定”)而不进行任何更改 - 然后它就可以工作了。有什么办法可以在我的宏中模拟这个并破解这个问题?记录这一系列动作会返回一个空白宏。
任何帮助都非常感谢,谢谢。
编辑:在 Excel 365 上工作,在 Mac 和 Windows 上看到问题
我的来自、验证和格式化的代码只有在按下“提交”按钮后才会启用:
Sub Validate_Form_NATG()
'variable errorCount is equal to the number of errors in the form
errorCount = Range("V28").Value
'we have set showErrorCell to the actual cell, allows us to manipulate it
Set showErrorCell = Range("W28")
'Unprotect Worksheet
ActiveSheet.Unprotect "xxxxxx"
'Check for errors
If errorCount > 0 Then
'Error!
'Tell the user how many errors there are
MsgBox errorCount & " Error(s). Entries out of expected range, please check or provide reason for increase/decrease in consumption."
'Allow conditional formatting for errors to be displayed
showErrorCell.Value = 1
Calculate
Else
'No Error - All Good!
'Store data
'Call the macro
Call Store_Data_NATG
Call Update_Average_NATG
MsgBox "Success! Remember to upload supporting documents for verification."
' Turn conditional formating for errors off
showErrorCell.Value = 0
'clear form
Range("F25,F27,F29,F31,F33,F35,H27,H29,H31,H33,H35").Select
Selection.ClearContents
'Clear autofilled formulae
Range("AM28,AM29,AP28,AP29,AQ28,AQ29,AR28,AR29,AS28,AS29,AT28,AT29,AU28,AU29").Select
Selection.ClearContents
End If
'Protect Sheet
ActiveSheet.Protect "xxxxxx"
End Sub