【问题标题】:Excel VBA copying literal cells from another sheet (do I really need to vlookup?)Excel VBA 从另一张表复制文字单元格(我真的需要查找吗?)
【发布时间】:2015-10-23 13:05:34
【问题描述】:

我在 Excel 的工作簿中有两张工作表; “表 1”和“表 2”。 Sheet1 有很多数据会更改,而 shee2 有两个活动单元格。这些单元格等于另一页的前两个单元格中的任何内容。也就是说,如果 sheet1 上的 (A1 & A2) 等于 (3 & 5) 那么在 sheet2 上它们将等于相同的东西。对,至于 Excel VBA 部分。我制作了一个创建 "sheet2" 的宏。所以宏需要从“sheet1:”中取出 Range“A1:A2”,并将它们放在 sheet2 上的 Range“A3 & A4”处。所以,当 sheet1 A1 上的值发生变化时,sheet2 A3 上的值也会发生变化。

我只想知道如何将单元格的动态值复制到另一张纸上。这可能吗,因为我发誓我能找到的最接近的东西是vlookup,而对于这么简单的任务来说,这似乎很复杂,我什至不确定这是否可行。

TL;DR 如何在 VBA 中从另一个没有 vlookup 的工作表中复制单元格的动态值?

【问题讨论】:

  • 你可以只放一个链接而不是值吗?在您的工作表 2 中,如果您想显示来自工作表 1 的信息,是否可以在工作表 2 单元格 A1 中进行类似操作:=Sheet1!A1。然后,每当 A1 发生变化时,它也会发生变化。此外,还有index/match(类似于 Vlookup)可以满足您的需求。

标签: vba excel vlookup


【解决方案1】:

您可以转到 Excel 工作表 -> 公式功能区 -> 名称管理器 -> 新名称

将您的新名称设置为等于 $A$1 和 $A$2。当您在 Excel 中插入行等时,名称管理器将自动移动,使其始终指向“旧单元格”。

然后在 VBA 中,您可以将它们称为 Range("NAME_FOR_A1")Range("NAME_FOR_A2"),它会始终刷新到“更新”目标。

或者,再次阅读您的问题,您可以简单地从 A1 和 A2 中获取值,将这些值放入变量中,然后将它们传递给 A3 和 A4。所以,类似:

A1Variable = Sheets(1).Range("A1").Formula
A2Variable = Sheets(1).Range("A2").Formula

Sheets(2).Range("A3") = A1Variable
Sheets(2).Range("A4") = A2Variable

Vlookup 在这里不相关;这是一个 Excel 公式工具,而不是 VBA。假设您可以使用它,但很少会比使用 VBA 方法更简单。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-06-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多