Excel “如果我的工作表具有无效数据触发器”对话框
我使用宏记录器来发现ActiveSheet.CircleInvalid,它循环任何不符合单元格数据验证标准的数据。我将宏链接到窗体控件;到目前为止,我已经:Excel “如果我的工作表具有无效数据触发器”对话框,excel,validation,vba,Excel,Validation,Vba,我使用宏记录器来发现ActiveSheet.CircleInvalid,它循环任何不符合单元格数据验证标准的数据。我将宏链接到窗体控件;到目前为止,我已经: Sub datavalidationcheck() ActiveSheet.CircleInvalid '//Add if there are invalid cells being circled then prompt user with dialog box '//else Application.Dialogs(xl
Sub datavalidationcheck()
ActiveSheet.CircleInvalid
'//Add if there are invalid cells being circled then prompt user with dialog box
'//else
Application.Dialogs(xlDialogSendMail).Show
End Sub
我希望找到如何使一个对话框出现,要求用户修复无效数据。注释掉的东西是我试图实现的伪代码
谢谢这里有一个想法,它基于以下事实:无效数据周围的圆圈是工作表上的实际形状:
Sub Invalid()
Dim ws As Excel.Worksheet
Dim cell As Excel.Range
Dim ShapesBefore As Long
Dim ShapesAfter As Long
Set ws = ActiveSheet
Set cell = ActiveCell
With ws
.ClearCircles
ShapesBefore = ws.Shapes.Count
.CircleInvalid
ShapesAfter = ws.Shapes.Count
If ShapesAfter > ShapesBefore Then
MsgBox "Invalid Circles displayed"
End If
End With
End Sub
这里有一个想法,它基于以下事实:无效数据周围的圆圈是工作表上的实际形状:
Sub Invalid()
Dim ws As Excel.Worksheet
Dim cell As Excel.Range
Dim ShapesBefore As Long
Dim ShapesAfter As Long
Set ws = ActiveSheet
Set cell = ActiveCell
With ws
.ClearCircles
ShapesBefore = ws.Shapes.Count
.CircleInvalid
ShapesAfter = ws.Shapes.Count
If ShapesAfter > ShapesBefore Then
MsgBox "Invalid Circles displayed"
End If
End With
End Sub
太棒了,我添加了通过outlook保存和发送电子邮件的功能。使用以下代码:If ShapesAfter=ShapesBefore Then Application.DialogsxlDialogSendMail.Show End是否有方法将电子邮件字段填充到:subject:和body:并自动发送?我很高兴它对您有效!好问题,我学到了一些新东西。我建议你研究一下你的电子邮件问题——那里有很多信息——如果需要的话,回来问一个单独的问题。太棒了,我添加了通过outlook保存和发送电子邮件的功能。使用以下代码:If ShapesAfter=ShapesBefore Then Application.DialogsxlDialogSendMail.Show End是否有方法将电子邮件字段填充到:subject:和body:并自动发送?我很高兴它对您有效!好问题,我学到了一些新东西。我建议你研究一下你的电子邮件问题——那里有很多信息——如果需要的话,回来问一个单独的问题。