所以,标题有点令人困惑。 我将使用一个例子。 我想在单元格A1上输入值3。 而且我希望单元格能够进行一些数学运算,例如,3加1。 接下来,将值返回到单元格A1,BUT 当我点击单元格A1时,我希望它显示数学公式。 所以这就是我得到的:
base
我已经做到了我想要它做的事情,这需要一个值,然后返回它。但是,我似乎无法将Sub A()
Dim term1 As Double
Dim term2 As Double
Range("A1").NumberFormat = "General"
term1 = Range("A1").Value
term2 = term1 * 3 + 1
Range("A1").Value = term2
term3 = term2
term3 = """term1 * 3 + 1"""
Range("A1").NumberFormatLocal = term3
End Sub
取.NumberFormatLocal
值作为字符串。
这样当操作完成后,我看到单元格上显示4,当我点击单元格时,公式term2
显示出来。
然后A1 * 3 + 1
的目的是让我可以通过在单元格中添加一些其他数字来重新执行此操作。
有谁知道怎么做? 非常感谢!
答案 0 :(得分:0)
我不确定我是否理解正确,但我认为您希望根据该单元格的值将非工作公式插入到您选择的单元格中。如果是这种情况,以下公式将适合您:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim myFormula As String
If IsNumeric(Selection.Value) = True And Selection.Value <> "" Then
myFormula = Selection.Value & " * 3 + 1"
Selection.Value = myFormula
End If
End Sub
由于代码位于Worksheet_SelectionChange
事件中,因此每次选择任何单元格时都会有效。我添加了If...Then
条件,以便不重新配制已经配制的细胞或空白细胞。
由于该公式适用于所选单元格,因此您应该退出单元格并重新输入,以使其适用于您的数字单元格。
但是如果你不严格需要在自我细胞中创建的公式,而是在另一个细胞中;也可以使用配方溶液。
当您的号码为A1
时,请将以下公式写入B1
并复制下来:
=ADDRESS(ROW(B1),COLUMN(B1)-1,1) & "* 3 + 1"