首页 > 解决方案 > 如果从下拉列表中选择了“缺席”一词,则使用“£0.00”填充允许手动输入的单元格

问题描述

假设我有单元格 A1 和 B1。下拉列表中的单元格 A1。下拉列表中的单词之一是“缺席”。

当从单元格 A1 中选择“不存在”时,我希望单元格 B1 填充“0,00 英镑”。

我可以用一个公式来做到这一点:在单元格 B1 中,例如 =IF(A1="absent","£0.00","")。

如果选择了下拉列表中的任何其他选项,“0.00 英镑”条目就会消失(这就是我想要的)。

单元格 B1 还需要手动输入。例如,如果我从 A1 的下拉列表中选择单词“present”,则需要在 B1 中手动输入现金值,例如 £1.76。

它有点适用于公式方法——公式只是被覆盖了。不理想。

每次从下拉列表中选择“缺席”一词时,是否可以使用 VBA 在单元格 B1 中填充“0.00 英镑”。It should also overwrite any value (if present) in B1 with £0.00 when the word 'absent' is selected. 如果未选择“缺席”,则单元格 B1 仍应能够接受手动输入。

标签: excelvbadrop-down-menu

解决方案


使用 Excel 公式:

您可以多使用一列 C 来避免手动输入过度编写公式。

如果 A1 不存在,则该值将是,£0.00否则将从可以手动输入的 C 列中选择值。

=IF(A1="Absent","£0.00",C1)

使用 VBA:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
    If Cells(1, "A") = "Absent" Then
        Cells(1, "B") = "£0.00"
    Else
        Cells(1, "B") = "Enter Value"
    End If
End If
End Sub

推荐阅读