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

Excel 如何根据另一个单元格上的值更改单元格(已经有值)的值?,excel,Excel,所以在单元格A6中输入一个值(如6.5)。我已将单元格D6链接到一个复选框 如何使其在我选中复选框并将D6的值更改为TRUE时,将A6的值更改为“完成”?您需要将A6更改为公式才能执行此操作: =If(D6="True", "Done", 6.5) 单元格中不能有6.5这样的值并通过公式更改其值。如果您必须有一个单元格,您可以在其中键入类似于6.5(比如B6)的值,那么在A6中您可以执行以下操作: =If(D6="True", "Dont", B6) 如果这仍然不是一个很好的折衷方案,那么您

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


如何使其在我选中复选框并将D6的值更改为TRUE时,将A6的值更改为“完成”?

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

=If(D6="True", "Done", 6.5)
单元格中不能有6.5这样的值并通过公式更改其值。如果您必须有一个单元格,您可以在其中键入类似于
6.5
(比如B6)的值,那么在A6中您可以执行以下操作:

=If(D6="True", "Dont", B6)
如果这仍然不是一个很好的折衷方案,那么您将不得不求助于VBA,其中工作表的代码类似于:

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
更新为
“完成”

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

Sub changetoDone()

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

End Sub

首先运行此选项以创建一个复选框:

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

使用vba。所以这不是一个适合我的网站代码。