【问题标题】:Excel vba finds a range but cannot activate itExcel vba 找到一个范围但无法激活它
【发布时间】:2016-05-13 10:11:58
【问题描述】:

我正在使用 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,但它给出了相同的错误。我可以用代码做些什么来解决这个问题吗?

【问题讨论】:

    标签: excel find range vba


    【解决方案1】:

    您需要先激活工作表:

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-05-26
      • 1970-01-01
      • 2015-06-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多