【问题标题】:How Do I Access the Active Cell in a Non-active Sheet?如何访问非活动工作表中的活动单元格?
【发布时间】:2020-12-09 06:09:26
【问题描述】:

当我翻阅 Excel(Office 365 MSO 16.0.12527.20880 64 位)工作簿的选项卡时,我可以看到 Excel 会记住每个工作表中最近选择的单元格。

我可以在 VBA 中访问它吗?我知道我可以使用

myString = ActiveCell.Text

获取活动工作表上的活动单元格。但是,我在想,由于 Excel 知道在另一张纸上选择了哪个单元格,我应该能够在不激活它的情况下获得它。这不是很好吗?

myString = Sheets("OtherSheet").SelectedCell.Text

有什么想法吗?

【问题讨论】:

  • 非活动工作表上没有活动单元格。您需要使用事件来捕获它。
  • 但它知道... :-/
  • 关闭屏幕更新,激活工作表,获取选择,然后切换回来?
  • @BigBen 你是对的。我快速浏览了一个工作簿 xml。每个 SheetName.xml 文件(在 xl 文件夹中)都有一个名为 activeCell 的元素,用于记录引用。
  • @StoneGiant 但它知道是的,但是 excel vba 对象模型并没有公开它知道的所有内容

标签: excel vba


【解决方案1】:

没有。这不会很好,因为我必须做出规定,因为还没有任何选择和/或选择不是我让我编码认为的那个。当有一个受控环境时,所有这些都会发生变化,例如,我在一张纸上选择一个单元格,切换工作表,然后想要刚刚选择的单元格的内容。在这种环境下,控制过程要容易得多。

  • 声明一个公共变量(可能是变体、字符串或范围)
  • Worksheet_Deactivate 过程中,将单元格或其值分配给变量。
  • 在需要时使用该变量。

【讨论】:

    猜你喜欢
    • 2016-10-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-28
    • 2023-03-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多