在我的代码中,我声明了这些变量:
Dim Field_Name, Datatype, row As Integer
Run Code Online (Sandbox Code Playgroud)
然后,在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
Run Code Online (Sandbox Code Playgroud)
但是,该代码抛出"对象变量或未设置块变量"运行时错误.根据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
Run Code Online (Sandbox Code Playgroud)
但是,所述变量不是对象,因此这样做会抛出"Object required"编译错误.
任何有关这方面的帮助将不胜感激.如果您不确定如何修复它,那么获取单元格的列号和行号的任何变通方法或替代方法都将非常感激.
在我的程序中,我有9个按钮,尽管每个事件处理程序中的代码都是相同的,但每个按钮都有9个独立的事件处理程序.事实证明,更改所有这些代码非常繁琐.是否可以创建一个Button.Click事件处理程序来处理所有按钮的Button.Click事件?