Excel将单元格值连续向下移动一行

时间:2018-07-01 00:22:31

标签: excel vba excel-vba

我有一个工作簿,其中有两个单元格,即DX42和DX43。这些单元格具有直接从称为RANDBETWEEN的相邻工作表中得出的值。 DX42的公式为= RANDBETWEEN!A2,而DX43的公式为= RANDBETWEEN!B2。在RANDBETWEEN工作表中,有两列(DX42的A列和DX43的B列)横跨100行,随着时间的推移,数字逐渐增加。

我想做的是创建一个宏,该宏将在每次按按钮时自动将DX42和DX43的值向下移动一行。例如,我按一次,DX42变成= RANDBETWEEN!A3,而DX43变成= RANDBETWEEN!B3。我再次单击,它们变成= ...!A4和= ...!B4等。

如果不可能同时移动两个单元格,那么我可以有两个单独的按钮(一个用于DX42,一个用于DX43)来分别移动各自的值。

此外,每次单击按钮时,我已经尝试过的宏(没有成功)将我带入RANDBETWEEN表。我希望在宏执行其工作时保留在sheet1(我的主表)中,以便我可以连续按下按钮,而不必每次都从RANDBETWEEN导航回sheet1。

有人可以帮我吗?

非常感谢!

1 个答案:

答案 0 :(得分:1)

尝试将此子过程与按钮相关联,

sub shiftDXdown()
    range("DX42").formula = _
        "=" & worksheets("randbetween").range(mid(range("DX42").formula, 2)).offset(1, 0).address(external:=true)
    range("DX43").formula = _
        "=" & worksheets("randbetween").range(mid(range("DX43").formula, 2)).offset(1, 0).address(external:=true)
end sub

最好为DX42和DX43提供适当的父级工作表引用,但我想您会将其放入父级工作表的专用代码表中。