|
本帖最后由 huchuanxing 于 2016-12-6 10:08 编辑
以下是两段VBA代码:
Sub 去除选定区域公式保留数值()
Dim rng As Range, rng1 As Range, address As String
On Error GoTo VeryEnd
Application.ScreenUpdating = False
If TypeName(Selection) = "Range" Then address = Selection.address Else address = ""
'弹出一个对话框, 让用户选择区域, 默认显示变量address的值。然后将该用户选择区域赋予变量rng
Set rng = Application.InputBox("请选择去除公式的区域", "选定区域", address, , , , , 8)
If rng Is Nothing Then Exit Sub
For Each rng1 In rng
If rng1.HasFormula Then rng1.Value = rng1.Value
Next
MsgBox "选定区域公式去除完毕,保留了数值!"
Application.ScreenUpdating = True
VeryEnd:
End Sub
Sub 数字转文本()
Dim rng As Range, rng1 As Range, address As String
If TypeName(Selection) = "Range" Then address = Selection.address Else address = ""
'弹出一个对话框, 让用户选择区域, 默认显示变量address的值。然后将该用户选择区域赋予变量rng
Set rng = Application.InputBox("请选择待转换的区域", "转换区域", address, , , , , 8)
If rng Is Nothing Then Exit Sub
For Each rng1 In rng
If rng1.Value <> "" Then
rng1.Value = "'" & rng1.Value
End If
Next
End Sub
数字转文本代码,当你选择单元格区域时,选定区域会有虚线框提示选择的区域,如图一所示,而另一段代码,在选定区域时无虚线框提示选择的区域,如图二所示,这是为什么?可否对“去除选定区域公式保留数值”代码进行修改让它在选择区域时也能有虚线框提示选定的区域吗?
Sub 去除选定区域公式保留数值()
On Error Resume Next
Dim rng As Range, rng1 As Range, address As String
If TypeName(Selection) = "Range" Then address = Selection.address Else address = ""
Set rng = Application.InputBox("请选择待转换的区域", "转换区域", address, , , , , 8)
If rng Is Nothing Then Exit Sub
For Each rng1 In rng
If rng1.HasFormula Then rng1.Value = rng1.Value
Next
MsgBox "选定区域公式去除完毕,保留了数值!"
End Sub
|
|