数据validationmacrosexcel VBA

即时通讯尝试创build一个macros,检查用户是否填写了他的行。 例如,如果用户开始在单元格A1中键入,则在所有空白填充之前,如果空白用户无法closures,则macros将检查单元格是否填充在同一行上。

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim rsave As Range Dim cell As Range Set rsave = Sheet1.Range("a1:i1") For Each cell In rsave If cell = "" Then Dim missdata missdata = MsgBox("missing data", vbOKOnly, "Missing Data") Cancel = True cell.Select Exit For End If Next cell End Sub 

要对行执行此操作,请使用:

 Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean) Dim rsave As Range, N As Long Dim cell As Range With Sheet1 N = .Cells(Rows.Count, "A").End(xlUp).Row For i = 1 To N Set rsave = .Range("A" & i & ":I" & i) For Each cell In rsave If cell = "" Then Dim missdata missdata = MsgBox("missing data", vbOKOnly, "Missing Data") Cancel = True cell.Select Exit Sub End If Next cell Next i End With End Sub