Excel 数据检查
Excel data checking
Excel数据检查
我有一个 Excel 用户表单,其中包含以下字段; date
、name
和 work
。
如果工作表包含相同的日期和名称配对,我希望阻止来自用户表单的数据传输。
例子
一个工作表有一个条目:
- 第
A
列有日期 1/1/2017
- 列
B
的名称为 john
对于上面的工作表,以下规则适用:
- 可以从
3/1/2017
和 john
的用户窗体传递信息。
- 可以从
1/1/2017
和 jane
的用户窗体传递信息。
- 无法从
1/1/2017
和 john
的用户窗体传递信息。
Dim k As Long
Dim matched As Boolean
matched = False
' Loop over all used rows
For k = 1 to ActiveSheet.UsedRange.Rows.Count
' Check if concatenated string of date & name is unique
' e.g. '01/01/17john'
If ActiveSheet.Cells(k, "A").Text & ActiveSheet.Cells(k, "B").Text = _
myUserForm.DateField.Text & myUserForm.NameField.Text Then
MsgBox "This Name / Date combination is not unique, pick again"
matched = True
Exit For
End If
Next k
If matched = False Then
' Name/Date combination is unique, send data to sub or whatever...
End If
Excel数据检查
我有一个 Excel 用户表单,其中包含以下字段; date
、name
和 work
。
如果工作表包含相同的日期和名称配对,我希望阻止来自用户表单的数据传输。
例子
一个工作表有一个条目:
- 第
A
列有日期1/1/2017
- 列
B
的名称为john
对于上面的工作表,以下规则适用:
- 可以从
3/1/2017
和john
的用户窗体传递信息。 - 可以从
1/1/2017
和jane
的用户窗体传递信息。 - 无法从
1/1/2017
和john
的用户窗体传递信息。
Dim k As Long
Dim matched As Boolean
matched = False
' Loop over all used rows
For k = 1 to ActiveSheet.UsedRange.Rows.Count
' Check if concatenated string of date & name is unique
' e.g. '01/01/17john'
If ActiveSheet.Cells(k, "A").Text & ActiveSheet.Cells(k, "B").Text = _
myUserForm.DateField.Text & myUserForm.NameField.Text Then
MsgBox "This Name / Date combination is not unique, pick again"
matched = True
Exit For
End If
Next k
If matched = False Then
' Name/Date combination is unique, send data to sub or whatever...
End If