【问题标题】:Excel VBA to select a cell address found with Find()Excel VBA 选择使用 Find() 找到的单元格地址
【发布时间】:2018-04-10 09:27:34
【问题描述】:

我正在编写 excel 预测工作簿 - 我有一个包含所有产品数据的批量数据表,以及一个用户从下拉列表中选择特定产品的详细信息表。对于每个产品,我希望用户查看详细信息表上的数据,并在需要时输入手动预测。然后我希望用户触发一个宏,该宏会将这个手动预测复制并粘贴到批量数据表上的相关单元格中。复制/粘贴位很好,但我正在努力选择要粘贴到的相关单元格 - 我有以下代码可以找到正确的单元格,但不是显示带有单元格地址的 MsgBox 我希望 excel 选择那个单元格地址

Sub Findrow()   
   Dim Fnd As Range   
   Set Fnd = Sheets("FORECAST_MODEL").Range("B:B").Find(Sheets("DETAIL_SHEET").Range("B2").Value, , , xlWhole, , , False, , False)
   If Not Fnd Is Nothing Then
      Set Fnd = Fnd.Offset(-1, 25)
      MsgBox Fnd.Address
   End If
End Sub

感谢您的帮助

谢谢

【问题讨论】:

  • Fnd.Select 应该适合你。

标签: vba excel


【解决方案1】:

Fnd.Select 而不是MsgBox Fnd.Address


甚至这里的整个代码:

If Not fnd Is Nothing Then
   Set fnd = fnd.Offset(-1, 25)
   MsgBox fnd.Address
End If

可以用1行代替:

If Not fnt Is Nothing Then fnd.Offset(-1, 25).Select

【讨论】:

  • 这两种方法都给我一个运行时错误 1004 - Range 类的选择方法失败 - 有什么想法吗?
  • @ChrisM - 我猜你的工作表受密码保护?
  • 无密码 - 我唯一能想到的是我需要移动工作表 - 即宏正在从 DETAIL_SHEET 运行但在 FORECAST_MODEL 上找到一个位置 - 我猜宏需要选择选择已找到的单元格地址之前的正确工作表
  • @ChrisM - Sheets("FORECAST_MODEL").SelectFnd.Select 之前
  • 大奖!非常感谢@Vityata 的帮助
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-10
  • 1970-01-01
相关资源
最近更新 更多