本篇文章為大家帶來了關於excel的相關知識,其中主要整理瞭如何將多個工作表的函數計算結果轉換為數值的相關問題,包括了單個工作表的公式轉數值、多個工作表的公式轉數值,多個工作簿的公式轉數值等等內容,下面一起來看一下,希望對大家有幫助。
相關學習推薦:excel教學
#如何將多個工作表的函數計算結果轉換為數值?今天就跟大家集中聊聊這類問題。根據操作範圍,這可以分為三種情況。
單一工作表的公式轉數值
#多個工作表的公式轉數值
多個工作簿的公式轉數值
先來說第一種情況,區域函數計算結果轉數值。這種最常見,操作也比較簡單。複製目標區域,右鍵選擇性貼上為數值即可。
操作動畫示範如下:
#如果是將目前工作簿所有工作表的公式轉換為數值,需要使用到VBA程式碼。參考程式碼如下:
Sub FunctionTransValue_Sheets() Dim sht As Worksheet For Each sht In Worksheets '遍历工作表 sht.UsedRange.Value = sht.UsedRange.Value Next End Sub
第3行至第5行程式碼遍歷工作表,第4行程式碼將儲存格的值修改為值,也就去除了公式內容。
指定資料夾下多個工作簿的公式轉數值,可以複製執行下列程式碼:
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
程式碼解析如下
第4至第6行程式碼允許使用者選擇目標資料夾,並取得資料夾的路徑。
第8至第14行程式碼取消一系列系統設定。
第15至第25行程式碼使用條件迴圈語句 DIR函數遍歷工作簿。第19至第21行代碼再遍歷工作表,將公式轉換為數值。
第26至第32行程式碼恢復一系列系統設定。
第33行至第37行程式碼回饋程式運行結果。
相關學習推薦:excel教學
以上是Excel將多個工作表的函數計算結果轉換為數值的詳細內容。更多資訊請關注PHP中文網其他相關文章!