分享

公式转换成数值格式

 二木士心空间 2023-04-10 发布于广西

       我们在日常工作中离不开电子表格,懂得利用函数公式不但能提高工作效率,而且还省力,但是利用不好也会给我们带来许多麻烦!因含有公式的表格移动或复制受公式的影响常常出现各种错误。那么我分享以下将公式转换为数值的办法。

       第一种:先是Ctrl+C,然后Ctrl+Alt+V+V,收工!此法重点在于普及快捷键

       第二种:在单个工作簿中,使用VBA代码实现将工作表转换为数值型。(ALT+F11打开并插入一个模块,粘贴代码就可以了,会套用就行!)

       参考代码如下:

Sub FunctionTransValue_Sheets()

Dim sht As Worksheet

For Each sht In Worksheets '遍历工作表

sht.UsedRange.Value = sht.UsedRange.Value

Next

End Sub

       第三种:此方法是针对大量的工作薄而言,真的很快很方便。第一次新建一个文件将代码放好,它是可以独立存在,以后用的时候按提示选择对应的文件夹就可以了,留好能及时找到就好。

参考代码如下:

Sub FunctionTransValue_Workbooks() '全部工作簿

Dim strPath As String, sht As Worksheet

Dim strWbName As String, wb As Workbook

With Application.FileDialog(msoFileDialogFolderPicker) '获取文件夹路径

If .Show Then strPath = .SelectedItems(1) & "\" Else Exit Sub

End With

On Error Resume Next

With Application

.ScreenUpdating = False '取消屏幕刷新

.DisplayAlerts = False '取消警告信息

.EnableEvents = False '取消事件

.Calculation = xlCalculationManual '取消公式重算

.AskToUpdateLinks = False '取消外链询问

End With

strWbName = Dir(strPath & "*.xls*")

Do While strWbName <> "" 'dir语句遍历excel文件

If strWbName <> ThisWorkbook.Name Then

Set wb = Workbooks.Open(strPath & strWbName) '打开工作簿

For Each sht In wb.Worksheets '遍历工作表公式转数值

sht.UsedRange.Value = sht.UsedRange.Value

Next

wb.Close True '保存关闭工作簿

End If

strWbName = Dir() '下一个excel文件

Loop

With Application '恢复系统设置

.ScreenUpdating = True

.DisplayAlerts = True

.EnableEvents = True

.Calculation = xlCalculationAutomatic

.AskToUpdateLinks = True

End With

If Err.Number Then

MsgBox Err.Description

Else

MsgBox "转换完成。"

End If

End Sub

图例样板

说明:这么长的代码不要害怕!!!其实不用深究只要会套用就行,需求不一样,只要达到目的便可。特别提醒保存文件类型要支持宏,比如扩展名为 .xlsm的文件

    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多