两个输入像元彼此相等

时间:2018-11-06 15:20:12

标签: excel vba excel-vba

是否可以创建两个彼此相等的输入单元,而无需使用VBA代码。 A1 = A5,A5 = A1。因此,当我更改A1的值时,它会影响A5,而更改A5也会使A1发生变化。

3 个答案:

答案 0 :(得分:2)

不,不是。它将需要VBA。

单元格可以具有公式,也可以具有用户提供的值,但不能同时具有两者。

唯一的方法是VBA。

您可以拥有第三个单元格,例如B1。然后让用户更改B1并将A1和A5等同于B1:

=B1

然后,用户只需更改一个单元格,其他单元格就会更新。

答案 1 :(得分:1)

严格地说,如果将工作表设置为使用迭代计算,则可以在A5中使用=B1在B1中使用=A5。但是,在任一单元格中输入数据将覆盖公式,因此只能使用一次。

答案 2 :(得分:0)

在工作表代码区域中放置以下事件宏:

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim A1 As Range, A5 As Range
    Set A1 = Range("A1")
    Set A5 = Range("A5")
    If Not Intersect(A1, Target) Is Nothing Then
        Application.EnableEvents = False
            A1.Copy A5
        Application.EnableEvents = True
        Exit Sub
    End If

    If Not Intersect(A5, Target) Is Nothing Then
        Application.EnableEvents = False
            A5.Copy A1
        Application.EnableEvents = True
        Exit Sub
    End If
End Sub

由于是工作表代码,因此安装非常容易,并且自动使用:

  1. 右键单击Excel窗口底部附近的标签名称
  2. 选择查看代码-这将打开一个VBE窗口
  3. 将内容粘贴并关闭VBE窗口

如果有任何疑问,请先在试用工作表上尝试。

如果保存工作簿,则宏将随其一起保存。 如果您在2003年以后使用Excel版本,则必须保存 该文件为.xlsm而不是.xlsx

删除宏:

  1. 如上所述调出VBE窗口
  2. 清除代码
  3. 关闭VBE窗口

要全面了解有关宏的更多信息,请参见:

http://www.mvps.org/dmcritchie/excel/getstarted.htm

http://msdn.microsoft.com/en-us/library/ee814735(v=office.14).aspx

要了解有关事件宏(工作表代码)的更多信息,请参见:

http://www.mvps.org/dmcritchie/excel/event.htm

必须启用宏才能使其正常工作!