excel vba中将公式转为文本或数值公式

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了excel vba中将公式转为文本或数值公式相关的知识,希望对你有一定的参考价值。

Sub 添加公式()
i = [b65536].End(3).Row
Cells(i + 1, 2) = "=b" & i & "+c" & i - 1
End Sub
1。上面公式是B最后+C最后上一个

2。现在修改成以下公式:B列最后一个非空单元的下一单元=MOD(10+B列最后一个非空单元+(C列最后二个非空单元-D列最后二个非空单元),10)

3。示例子:B列最后一个非空单元的下一单元=MOD(10+B48+(C47-D47),10)
="=MOD(10+B48+(C47-D47),10)"这里意思是这样
B48=B列最后一个非空单元
C47=C列最后第二个非空单元
D47=D列最后二个非空单元

Sub 添加公式()

    i = [b65536].End(3).Row

    Cells(i + 1, 2) = "=MOD(" & 10 & "+B" & i  & "+C" & i - 1 & "-D" & i - 1 & "," & 10 & ")"

End Sub


(C47-D47)这个不需要括号,因为是同级计算。


运行后如图

追问

同时将公式转为数值或文本格式
Sub 添加公式()
i = [b65536].End(3).Row
Cells(i + 1, 2) = "=~~~~
Cells(i + 1, 3) = "=
上面加了二个公式,可不以同时将公式转为数值或文本格式
End Sub

参考技术A Sub 公式变文本()
Dim endrow, endrow2
endrow = Sheet1.Range("C65536").End(xlUp).Row - 2
endrow2 = endrow - 30

Sheet1.Range("H" & endrow2 & ":H" & endrow).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Sheet1.Range("A" & endrow + 3).Select

End Sub

Sub 公式变文本2()
Dim endrow, endrow2
endrow = Sheet1.Range("C65536").End(xlUp).Row - 2
endrow2 = endrow - 30

Sheet1.Range("R" & endrow2 & ":R" & endrow).Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
Sheet1.Range("A" & endrow + 3).Select

End Sub

以上是关于excel vba中将公式转为文本或数值公式的主要内容,如果未能解决你的问题,请参考以下文章

excel vba将公式转为数值

利用VBA实现多个工作表指定单元格公式变为数值?

excel或者vba,怎样将工作簿内所有橙色单元格公式转换为数值?

vba在单元格中生成的公式如何变成文本值

Excel:公式转数值

excel函数 value是啥意思