我正在构建一个子程序,其中3行bloc用不同的输入重复3次,并且它对大多数情况都很有效,但在最后一行给出了错误91 ...这是其他人的双胞胎
以下是代码:
Dim calliper_d, calliper_V, T_log_ini_d, T_log_ini_T, T_log_fin_d, T_log_fin_T As Range
Dim caliper_end_index, T_log_ini_end_index, T_log_fin_end_index As Double
'Gets the index of the last non empty cell in the corresponding column
caliper_end_index = Application.WorksheetFunction.Match(Worksheets("Main").Range("O4").End(xlDown).Value, Worksheets("Main").Range("O4").EntireColumn.Value, 1)
'Using this index, get the whole first column and the second column up to that point*
calliper_d = Worksheets("Main").Range("O4:O" & caliper_end_index)
calliper_V = Worksheets("Main").Range("Q4:Q" & caliper_end_index)
'same with an other data table
T_log_ini_end_index = Application.WorksheetFunction.Match(Worksheets("Main").Range("K4").End(xlDown).Value, Worksheets("Main").Range("K4").EntireColumn.Value, 1)
T_log_ini_d = Worksheets("Main").Range("K4:K" & T_log_ini_end_index)
T_log_ini_T = Worksheets("Main").Range("L4:L" & T_log_ini_end_index)
'same with an other data table
T_log_fin_end_index = Application.WorksheetFunction.Match(Worksheets("Main").Range("AE4").End(xlDown).Value, Worksheets("Main").Range("AE4").EntireColumn.Value, 1)
T_log_fin_d = Worksheets("Main").Range("AE4:AE" & T_log_fin_end_index)
T_log_fin_T = Worksheets("Main").Range("AF4:AF" & T_log_fin_end_index) 'this is where I get an error
*我用于测试的列大小相同 深入到局部变量选项卡,我注意到由于某种原因,T_log_fin_end_index被注册为Double,而另外两个是Variant / Double ...这并不能解释它适用于T_log_fin_d而不适用于T_log_fin_T的事实。 / p>
我还检查了测试数据,没有问题(没有空单元格,没有"。"而不是"," ....)。只有很多真正的正数。
提前感谢您的帮助!