在我的代码中,我声明了这些变量:
Dim Field_Name, Datatype, row As Integer
然后,在一个 For 循环内,我有这段代码:
Field_Name = Worksheets(i).UsedRange.Find("Field Name").Column
Datatype = Worksheets(i).UsedRange.Find("Datatype").Column
row = Worksheets(i).UsedRange.Find("Field Name").row + 1
然而,该代码会引发“对象变量或块变量未设置”运行时错误。根据API,Range.Column和Range.row属性是只读的Long型。我尝试将变量的数据类型更改为Long,但没有成功。似乎VBA希望我做什么
Set Field_Name = Worksheets(i).UsedRange.Find("Field Name").Column
Set Datatype = Worksheets(i).UsedRange.Find("Datatype").Column
Set row = Worksheets(i).UsedRange.Find("Field Name").row + 1
然而,这些变量并不是对象,因此这样做会抛出“需要对象”编译错误。
如果您不确定如何修复它,则任何解决方法或替代方法来获取单元格的列号和行号都将非常感激。
Find
返回了Nothing
,也就是字符串"Field Name"
或者"Datatype"
没有被找到。 - Dmitry Pavliv