如何用脚本将多工作表中指定单元格转为值?
一键将所有工作表指定单元格公式转为值的VBA脚本
直接用下面的VBA宏就能批量完成需求,专门解决你说的把所有工作表A1单元格的=sheetname()公式转为静态值的问题:
Sub ConvertSheetNameFormulaToValue() Dim ws As Worksheet For Each ws In ThisWorkbook.Worksheets If ws.Range("A1").HasFormula Then ws.Range("A1").Value = ws.Range("A1").Value End If Next ws MsgBox "所有工作表A1单元格已完成公式转值", vbInformation End Sub
使用步骤:
- 打开目标Excel文件,按
Alt + F11打开VBA编辑器 - 在左侧「工程资源管理器」里找到当前工作簿,右键点击→插入→模块
- 把上面的代码粘贴到弹出的模块代码窗口中
- 按
F5运行宏,或者回到Excel界面,通过「开发工具」选项卡→「宏」,选择ConvertSheetNameFormulaToValue执行
自定义说明:
如果需要转换的不是A1单元格,把代码里的Range("A1")替换成你要指定的单元格引用即可(比如Range("C3"))。
注意:
运行前建议先备份文件,避免操作失误;脚本会自动跳过本身没有公式的单元格,不会覆盖已有静态值。
内容的提问来源于stack exchange,提问作者Mathieu Beaudet
相关产品推荐
相关产品推荐

