我试图让两个单元格在用户输入后保留背景公式并有一个圆形公式。
A1 = Lbs
A2 = Kgs
Formula
A1 = A2*2.2
A2 = A1/2.2
Run Code Online (Sandbox Code Playgroud)
我知道下面的线程,但我无法让它适用于循环公式。我已启用优先使用迭代计算。 Excel - 如何从公式直接输入数据或单元格值
Excel 不会像这样工作。
如果两个单元格都有公式,则无处可获取输入值。这就是为什么这不适用于循环引用。
一个单元格可以有一个公式或一个值。如果在具有公式的单元格中输入值,则公式将被覆盖。您要实现的目标至少需要 3 个单元格:值的输入单元格、单位的单元格和转换结果的第三个单元格。您甚至可能想要为结果单位添加第四个单元格。考虑这个截图:
数值在 B2 中输入,数值的单位在 C2 中指定。转换在 B3 中计算
=IF(C2="lbs",B2/2.2,B2*2.2)
Run Code Online (Sandbox Code Playgroud)
结果的单位在 C3 中用 计算=IF(C2="Kgs","Lbs","Kgs"),但该位是可选的。
编辑:您可以使用 VBA 转换该值并将其放置在另一个单元格中。不过,这无需在单元格中写入公式即可完成。如果您已经使用 VBA,您不妨在 VBA 中进行计算,而不是使用 VBA 将公式写入单元格。这是VBA:
Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Not Intersect(Target, Range("A1:A2")) Is Nothing Then
If Target.Count = 1 Then
Application.EnableEvents = False
If Target.Row = 1 Then
Target.Offset(1, 0) = Target / 2.2
Else
Target.Offset(-1, 0) = Target * 2.2
End If
Application.EnableEvents = True
End If
End If
End Sub
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1162 次 |
| 最近记录: |