excel 公式输出和用户输入在同一单元格中

fcwjkofz  于 2022-12-01  发布在  其他
关注(0)|答案(1)|浏览(191)

我正在尝试将公式输出和用户输入放在同一单元格中

Private Sub Worksheet_Change(ByVal target As Range)
Application.EnableEvents = False
If Intersect(target, Range("G1103:G1104")) Is Nothing Then          
End If
ActiveSheet.Range("G1105").Formula = "=if(G1104="""","""",(((G1104-G1103)/G1103)*100))"

Application.EnableEvents = True
Exit sub

但这不起作用,我无法在单元格G1105上进行手动输入。我想将单元格G1103和G1104留给用户输入并计算G1105,但用户应该能够直接将数字放入单元格G1105,而无需更改公式,并且下次用户将值放入单元格G1103和G1104时,它应该进行计算。
我不能做退出子后,如果什么都没有,然后,因为我有其他代码,需要运行在同一事件worksheet_change。

e0bqpujr

e0bqpujr1#

仅当用户更改G1103或G1104时,此操作才会将G1105中的内容替换为您的公式。

Private Sub Worksheet_Change(ByVal target As Range)
    Application.EnableEvents = False
    If Not Intersect(target, Me.Range("G1103:G1104")) Is Nothing Then
        Me.Range("G1105").Formula = "=if(G1104="""","""",(((G1104-G1103)/G1103)*100))"
    End If

    ' rest of your code here

    Application.EnableEvents = True
Exit sub

相关问题