【问题标题】:Finding and selecting cell with the same value of another cell in VBA在 VBA 中查找和选择与另一个单元格具有相同值的单元格
【发布时间】:2022-01-14 23:12:33
【问题描述】:

我对在 excel 中使用宏还很陌生。我在工作表 1 的单元格 A1 中创建了一个下拉列表。根据此单元格的值,我需要我的宏在表 2 中查找并选择与下拉列表中选择的值相对应的单元格(这是一个唯一的单元格)。我想用它作为参考单元格来复制一个范围。

关于如何做到这一点的任何建议?

提前致谢!

【问题讨论】:

  • 您是否尝试过录制宏并从那里开始?

标签: excel vba


【解决方案1】:

Range.Find 可以为您完成。

Sheet2.Cells.Find(What:=DropdownValue).Select

但要小心在一行中执行此操作。如果 Find 方法找不到任何匹配项,这将引发错误,因为您不能在 Nothing 上执行 Select

在单独的行中这样做更安全,例如:

Dim rFind As Range
Set rFind = Sheet2.Cells.Find(What:=DropdownValue)
If Not rFind Is Nothing Then rFind.Select

为了可靠性和完整性,您应该包含Find 的其他参数,以确保该方法使用您期望的匹配规则。最关键的是 LookIn、LookAt 和 MatchCase。

Set rFind = Sheet2.Cells.Find( _
                               What:=DropdownValue, _
                               LookIn:=xlValues, _
                               LookAt:=xlWhole, _
                               MatchCase:=True _
                             )

【讨论】:

  • 感谢您的评论。不过,我似乎无法让它工作。当我尝试这些行时,我得到一个运行时错误:“范围类的选择方法失败”。你知道如何解决这个问题吗?
  • 哦,是的,抱歉,您需要先激活Sheet2,然后才能从其中激活Select。尝试在添加 Select 之前添加 Sheet2.Activate
猜你喜欢
  • 1970-01-01
  • 2019-02-17
  • 2014-12-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多