我在Excel中有一个数据输入表,它由3列组成:字段标题(例如名称,零件号等)(B列),数据输入字段(C列)和一个选中标记字段标记为必填字段(列D)。当我最初将代码合并到工作簿中时,它可以正常工作。现在它不起作用了,我能想到的唯一会影响到的更改是数据输入行的数量增加了。
我已经通过调试运行,并且变量似乎正在获取正确的数据。这是代码的一部分,查看必填字段。
Else
'cells to copy from Input sheet - some contain formulas
Set myCopy = inputWks.Range("EntryData")
lRec = inputWks.Range("CurrRec").Value
lRecRow = lRec + 2
With inputWks
Set myTest = myCopy.Offset(0, 1)
If Application.Count(myTest) > 0 Then
MsgBox "Please fill in all the cells!"
Exit Sub
End If
End With
If / Else语句的其余部分正常运行,但是该代码似乎没有与必填字段列进行检查。
“ EntryData”是一个命名范围,其中包含来自列C(数据输入列)的所有数据
答案 0 :(得分:0)
所以谜团解决了,我错过了一个隐藏的帮助专栏,
Set myTest = myCopy.Offset(0, 1)
行应已引用,偏移量应为(0,2),并且在E列中需要以下公式:
=IF(E5="","",IF(D5="",1,""))
如果在D列中未将标记为D的单元格填充为C,则将其置为1,这说明了为什么此行;
If Application.Count(myTest) > 0 Then
寻找一个大于0的数字。
谢谢那些提出建议的人!