首页 文章

Excel VBA从另一个工作表复制文字单元格(我真的需要vlookup吗?)

提问于
浏览
0

我在Excel中的工作簿中有两张纸; "Sheet1"和"Sheet2" . Sheet1有很多数据是 changed ,而shee2有两个活动单元格 . 这些单元格等于另一页面的前两个单元格中的任何单元格 . 也就是说,如果sheet1上的(A1和A2)等于(3和5),那么在sheet2上它们将等于相同的东西 . 是的,对于Excel VBA部分 . 我创建了一个创建"sheet2"的宏 . 因此,宏需要在sheet2上从"sheet1: and put them at Range" A3和A4“获取范围"A1:A2" . 因此,当sheet1 A1上的值发生变化时,则在sheet2 A3上它也会发生变化 .

我只是想知道如何在另一张纸上复制单元格的动态值 . 这是可能的,因为我发誓我能找到的最接近的东西是 vlookup ,这似乎很复杂,这样一个简单的任务,我甚至不确定那会有效 .

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

1 回答

  • 0

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

    将新名称设置为$ A $ 1和$ A $ 2 . 在Excel中插入行等时,名称管理器将自动切换,以便它始终指向“旧单元格” .

    然后在VBA中,您可以将它们称为 Range("NAME_FOR_A1")Range("NAME_FOR_A2") ,它将始终刷新到'updated'目标 .

    或者,再次阅读您的问题,您可以简单地从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方法更简单 .

相关问题