如何根据另一个单元格上的值更改单元格的值(已经有值)?

时间:2016-03-18 14:56:55

标签: excel

所以在单元格A6中我输入一个值(如6.5)。我已将单元格D6链接到复选框。

我怎样才能这样做,当我选中复选框并因此将D6的值更改为TRUE时,它会将A6的值更改为“完成”?

3 个答案:

答案 0 :(得分:0)

您需要将A6更改为公式才能执行此操作:

=If(D6="True", "Done", 6.5)

您不能在单元格中拥有类似6.5的值,并通过公式更改其值。如果你绝对必须有一个单元格,你可以键入6.5之类的值(比如B6),那么在A6中你可以这样做:

=If(D6="True", "Dont", B6)

如果这仍然不是一个足够好的妥协,那么你将不得不求助于VBA,其中Sheet的代码你会有:

Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, Range("D6")) Is Nothing Then
        If Sheet1.Range("D6").Value = "True" Then
            Sheet1.Range("A6").Value = "Done"
        End If
    End If
End Sub

这将检测D6中的更改,如果该更改的结果为True,则会将A6更新为"Done"

答案 1 :(得分:0)

您可以使用附在复选框上的快速且脏的宏。但这实际上取决于你想要的功能:

Sub changetoDone()

Range("A6").Value = "Done"

End Sub

答案 2 :(得分:0)

首先运行此复选框:

Sub MakeCheckbox()
    ActiveSheet.CheckBoxes.Add(358.5, 93, 41.25, 33).Select
    Selection.Text = "Click Me"
End Sub

然后将此宏指定给它:

Sub CheckBox1_Click()
    If ActiveSheet.CheckBoxes(1).Value = 1 Then
        Range("D6").Value = True
        Range("A6").Value = "Done"
    Else
        Range("D6").Value = False
    End If
End Sub