创建依赖于另一个区域的 Excel 区域

创建依赖于另一个区域的 Excel 区域

我有一个 Excel第一范围它由四列(AD)和五行(1-5)组成。

此范围内的单元格由数字组成。

我想设置另外两个范围 - Excel第二范围和一个 Excel第三范围在另一张工作表上。

我希望两个范围都与 Excel 第一个范围相同,但第二个范围中的数字是第一个范围中的数字的两倍,而第三个范围中的数字是第一个范围中的数字的三倍。

我还希望第三个范围位于第二个范围的正下方。

我还希望,如果我向第一个范围添加新行或新列,并且这些单元格有数字,则第二个和第三个范围也会自动添加新行和新列,只是第二个和第三个范围中的数字值分别是第一个范围中的数字值的两倍和三倍。

这可能吗?如果可以,我该怎么做?

答案1

由于您的问题有很多曲折,因此我将查询分为三个部分。

第1部分:

将第一个范围复制到其他表中作为第二和第三个范围。

在 Sheet1 上创建命令按钮并使用此 VBA 代码,

Private Sub CommandButton1_Click()

Dim lastrow As Long
lastrow = Sheets("Sheet2").Range("A65536").End(xlUp).Row

Range("A1:D5").Copy Destination:=Sheets("Sheet2").Range("A" & lastrow)

End Sub

第2部分: 在 Sheet 2 上创建命令按钮。

将其 CAPTION 设置为 Double

使用此 VBA 代码,

Private Sub CommandButton2_Click()

If CommandButton2.Caption = "Double" Then

Dim rngData As Range

    Set rngData = ThisWorkbook.Worksheets("Sheet2").Range("A1:D5")
    rngData = Evaluate(rngData.Address & "*2")
    CommandButton2.Caption = "Triple"


ElseIf CommandButton2.Caption = "Triple" Then

Dim rngData1 As Range

    Set rngData = ThisWorkbook.Worksheets("Sheet2").Range("A6:D10")
    rngData = Evaluate(rngData.Address & "*3")
    CommandButton2.Caption = "Double"
   End If

End Sub

第 3 部分:

现在,如何使用范围 1 中的修改来更新范围 2 和 3。

为此,我可以向您提出最简单的建议。

复制范围一及其一些额外的行和列,然后使用粘贴链接。

笔记,在这种情况下,请不要使用我的解决方案的第一部分。

希望这对你有帮助。

相关内容