Excel:如果用户输入的值小于最小值,则强制使用默认值

时间:2012-05-19 13:49:50

标签: excel validation

我有一个单元格(F24),用户可以在其中输入百分比。但是,如果用户输入的百分比小于指定值(C24 / G22),我希望单元格值自动默认为该值。

数据验证让我几乎在那里,但不是自动插入最小值,而是简单地弹出警报。我更喜欢(并且对于这个特定的应用程序最有意义)该过程是自动的。

我有什么简单的东西可以忽略吗?

2 个答案:

答案 0 :(得分:1)

如果没有一些VBA,我无法看到如何做到这一点: 如果您将以下内容放在出现这种情况的表格中,它应该符合您的需求。

Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells = Cells(24, 6) And Cells(22, 7) <> 0 And Cells(22, 7) <> "" Then
        If Target.Value < Cells(24, 3) / Cells(22, 7) Then
            Target.Value = Cells(24, 3) / Cells(22, 7)
        End If
    End If
End Sub

这是做什么的:

  • 1它检查目标(焦点)是否在F24并且G22单元格不是0或空白如果不满足所有这些条件,则不执行任何操作。
  • 第二次检查F24输入的值是否小于C24 / G22,如果是,则替换用C24 / G22结果输入的值。如果该值等于或大于C24 / G22,那么它什么都不做。

仍在考虑采用非VBA方式,但到目前为止还没有想到任何事情。

答案 1 :(得分:1)

如果您不介意在另一个单元格中拥有“正确”的数据:

用户将输入单元格F24,添加列G,因此G24将包含:

= IF(G24≤(C24 / G22), “默认”,G24)