0

我有一个启用宏的工作簿,它在“提交框”上进行数据验证,用户每月输入经过验证的消费信息,如果一个值看起来不寻常(按下提交按钮后)它被标记并触发条件格式突出显示可能需要在表单上更正的字段。

我的问题是条件格式不会更新,除非我单击条件格式菜单并管理规则(我只需按“确定”)而不进行任何更改 - 然后它就可以工作了。有什么办法可以在我的宏中模拟这个并破解这个问题?记录这一系列动作会返回一个空白宏。

任何帮助都非常感谢,谢谢。

编辑:在 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
4

0 回答 0