Excel vba找到一个区域,但无法将其激活



我正在使用xlsx格式的数据库提取文件。结构看起来像

ID     DC1      DC2 ............  DCn
1      data     data ...........  data
2      data     data ...........  data
3      data     data ...........  data

我使用此代码查找并激活ID单元格。

Set foundSourceRange = Sheets(sourceSheet).Cells.Find(What:=sourceColumn, LookIn:=xlValues, LookAt:=xlWhole)
foundSourceRange.Activate

Find给出请求的单元格,但Activate抛出错误。

Runtime Error 1004
Activate method of Range class failed.

如果我转到提取文件并编辑标题(手动重新键入)那么我的代码就可以正常工作了。我已经尝试将提取文件格式更改为csv,但它给出了相同的错误。我能用这些代码解决这个问题吗?

您需要首先激活工作表:

Set foundSourceRange = Sheets(sourceSheet).Cells.Find(What:=sourceColumn, LookIn:=xlValues, LookAt:=xlWhole)
Sheets(sourceSheet).Activate
foundSourceRange.Activate

您只能在ActiveSheet对象上.Activate一个范围。

最新更新