この記事では、単一のワークシートの関数を含む複数のワークシートの関数計算結果を数値に変換する方法を中心に、excel に関する知識をまとめています。数値の変換、複数のワークシートでの数式から数値への変換、複数のワークブックでの数式から数値への変換など、一緒に見ていきましょう。
関連する学習の推奨事項: excel チュートリアル
複数のワークシートの関数計算結果を数値に変換するにはどうすればよいですか?今日はこの種の問題に焦点を当ててお話しします。運用範囲に応じて、これは 3 つの状況に分類できます。
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
コードは次のように分析されます
コードの 4 行目から 6 行目では、ユーザーがターゲット フォルダーを選択し、そのフォルダーへのパスを取得できます。
8行目から14行目で一連のシステム設定をキャンセルします。
コードの 15 行目から 25 行目では、条件付きループ ステートメントの DIR 関数を使用してブックを走査します。次に、コードの 19 行目から 21 行目でワークシートを調べて、数式を数値に変換します。
コードの 26 行目から 32 行目は、一連のシステム設定を復元します。
行 33 ~ 37 のコードは、プログラムの実行結果をフィードバックします。
関連する学習の推奨事項:
Excel チュートリアル以上がExcelで複数のワークシートの関数計算結果を数値化の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。