亞寵展、全球寵物產業風向標——亞洲寵物展覽會深度解析
609
2025-04-02
如何快速將整個工作簿的公式轉換為數值?
如何將多個工作表的函數計算結果轉換為數值?今天就給大家集中聊一下這類問題。根據操作范圍,這可以分為三種情況。
? 單個工作表的公式轉數值? 多個工作表的公式轉數值? 多個工作簿的公式轉數值
1. 區域公式轉數值
先來說第一種情況,區域函數計算結果轉數值。這種最為常見,操作也比較簡單。復制目標區域,右鍵選擇性粘貼為數值即可。操作動畫演示如下:
2. 多工作表公式轉數值
如果是將當前工作簿所有工作表的公式轉換為數值,需要使用到VBA代碼。參考代碼如下:
Sub FunctionTransValue_Sheets()Dim sht As WorksheetFor Each sht In Worksheets '遍歷工作表sht.UsedRange.Value = sht.UsedRange.ValueNextEnd Sub
第3行至第5行代碼遍歷工作表,第4行代碼將單元格的值修改為值,也就去除了公式內容。
3. 多工作簿公式轉數值
指定文件夾下多個工作簿的公式轉數值,可以復制運行以下代碼:
Sub FunctionTransValue_Workbooks() '全部工作簿Dim strPath As String, sht As WorksheetDim strWbName As String, wb As WorkbookWith Application.FileDialog(msoFileDialogFolderPicker) '獲取文件夾路徑If .Show Then strPath = .SelectedItems(1) & "\" Else Exit SubEnd WithOn Error Resume NextWith Application.ScreenUpdating = False '取消屏幕刷新.DisplayAlerts = False '取消警告信息.EnableEvents = False '取消事件.Calculation = xlCalculationManual '取消公式重算.AskToUpdateLinks = False '取消外鏈詢問End WithstrWbName = Dir(strPath & "*.xls*")Do While strWbName <> "" 'dir語句遍歷excel文件If strWbName <> ThisWorkbook.Name ThenSet wb = Workbooks.Open(strPath & strWbName) '打開工作簿For Each sht In wb.Worksheets '遍歷工作表公式轉數值sht.UsedRange.Value = sht.UsedRange.ValueNextwb.Close True '保存關閉工作簿End IfstrWbName = Dir() '下一個excel文件LoopWith Application '恢復系統設置.ScreenUpdating = True.DisplayAlerts = True.EnableEvents = True.Calculation = xlCalculationAutomatic.AskToUpdateLinks = TrueEnd WithIf Err.Number ThenMsgBox Err.DescriptionElseMsgBox "轉換完成。"End IfEnd Sub
代碼解析如下▼
第4至第6行代碼允許用戶選擇目標文件夾,并獲取文件夾的路徑。第8至第14行代碼取消一系列系統設置。第15至第25行代碼使用條件循環語句+DIR函數遍歷工作簿。第19至第21行代碼再遍歷工作表,將公式轉換為數值。第26至第32行代碼恢復一系列系統設置。第33行至第37行代碼反饋程序運行結果。
……
案例文件下載百度網盤..▼https://pan.baidu.com/s/1fK1OZIL2bOMor27tG6IuQg? ?提取碼: 6sc9
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。