Vba 当激活方法成功时,选择方法失败!!!很奇怪
我已经写了这些VBA代码,除了一个问题外,它们工作得很好。在语句rs.activate中,我先前编写了rs.select,但它不起作用 我的问题是为什么rs.activate在这里工作,而不是rs.selectVba 当激活方法成功时,选择方法失败!!!很奇怪,vba,Vba,我已经写了这些VBA代码,除了一个问题外,它们工作得很好。在语句rs.activate中,我先前编写了rs.select,但它不起作用 我的问题是为什么rs.activate在这里工作,而不是rs.select Sub Extract_Data() Checklist.Sheets.Add.Name = "DataNew" Set msi = ThisWorkbook.Sheets("MS Info") Set rs = ThisWorkbook.Sheets("Result") Set
Sub Extract_Data()
Checklist.Sheets.Add.Name = "DataNew"
Set msi = ThisWorkbook.Sheets("MS Info")
Set rs = ThisWorkbook.Sheets("Result")
Set tmp = ThisWorkbook.Sheets("Temp")
Set evd = Checklist.Sheets("Evaluation Details")
Set smm = Checklist.Sheets("Summary")
'''''''''''''''''''''''''''
'''''''few more codes''''''
'''''''''''''''''''''''''''
rs.Activate
With rs.Range("A2:H" & Range("G" & Rows.Count).End(xlUp).Row)
.SpecialCells(xlBlanks).FormulaR1C1 = "=R[-1]C"
.Value = .Value
End With
With rs.Range("N2:P" & Range("G" & Rows.Count).End(xlUp).Row)
.SpecialCells(xlBlanks).FormulaR1C1 = "=R[-1]C"
.Value = .Value
End With
'''''''''''''''''''''''''''
'''''''few more codes''''''
'''''''''''''''''''''''''''
end sub
如前所述,实际上您不需要使用
.Activate
,因为您正在指定工作表的范围的来源
您可以安全地删除任何。激活或。选择,代码将正常工作
希望这有帮助。您不需要。激活
或。如果使用完全指定的变量,如rs.Range(“A2:H”)和rs.Range(“G”和rs.Rows.Count)。End(xlUp).Row),请选择
。看见我还建议声明变量并使用选项Explicit
。当我删除rs.activate时,代码不起作用。但后来我发现了真正的问题,在指定计算最后一行的范围G时,我没有提到图纸对象rs。因此,在activesheet上计算lastrow,而不是在rs sheet上,这导致找不到空白单元格的错误。好的,谢谢大家的评论和帮助。真的很感激!!!