如果激活方法成功,则选择方法失败!!!很奇怪

时间:2019-04-29 08:28:03

标签: 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 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

1 个答案:

答案 0 :(得分:1)

如上所述,您实际上不需要使用.Activate,因为您要指定范围来自哪个

您可以安全地删除任何.Activate.Select,您的代码即可使用。

希望这会有所帮助。