0

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

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

我忽略了一些简单的事情吗?

4

2 回答 2

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

这是做什么的:

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

仍在考虑非 VBA 方式,但到目前为止还没有想到。

于 2012-05-19T14:07:06.950 回答
1

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

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

=IF(G24<(C24/G22),"默认",G24)

于 2012-05-19T15:15:03.090 回答