Excel 如何根据另一个单元格上的值更改单元格(已经有值)的值?
所以在单元格A6中输入一个值(如6.5)。我已将单元格D6链接到一个复选框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) 如果这仍然不是一个很好的折衷方案,那么您
如何使其在我选中复选框并将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。所以这不是一个适合我的网站代码。