本篇文章給大家帶來了關于excel的相關知識,其中主要整理了如何將多個工作表的函數計算結果轉換為數值的相關問題,包括了單個工作表的公式轉數值、多個工作表的公式轉數值,多個工作簿的公式轉數值等等內容,下面一起來看一下,希望對大家有幫助。
相關學習推薦:excel
如何將多個工作表的函數計算結果轉換為數值?今天就給大家集中聊一下這類問題。根據操作范圍,這可以分為三種情況。
-
單個工作表的公式轉數值
-
多個工作表的公式轉數值
-
多個工作簿的公式轉數值
1. 區域公式轉數值
先來說第一種情況,區域函數計算結果轉數值。這種最為常見,操作也比較簡單。復制目標區域,右鍵選擇性粘貼為數值即可。
操作動畫演示如下:
2. 多工作表公式轉數值
如果是將當前工作簿所有工作表的公式轉換為數值,需要使用到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行代碼將單元格的值修改為值,也就去除了公式內容。
3. 多工作簿公式轉數值
指定文件夾下多個工作簿的公式轉數值,可以復制運行以下代碼:
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
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END