如何在Excel中求和某工作表3个单元格并粘贴结果至另一工作表
跨工作表单元格求和并粘贴结果的实用方案
我来给你两种靠谱的解决方法,分别对应偶尔手动操作和需要重复执行的自动化场景:
一、手动操作(适合单次需求)
如果只是偶尔做一次这个操作,用手动步骤最直接:
- 打开你的Excel工作簿,切换到存放待求和单元格的源工作表(比如命名为
Sheet1)。 - 在任意空白单元格(比如源表的D1)输入求和公式,假设你要计算的三个单元格是A1、B3、D5,公式可以写
=A1+B3+D5,或者更稳妥的=SUM(A1,B3,D5)(这个函数会自动忽略非数值内容,避免出错)。 - 按下回车得到求和结果,选中这个结果单元格,按
Ctrl+C复制。 - 切换到目标工作表(比如
Sheet2),选中你要放置结果的单元格,右键选择粘贴选项里的「值」(或者用快捷键Ctrl+Shift+V,部分版本也可以用Ctrl+Alt+V然后选择「值」),这样就把纯数值粘贴过去了,不会带公式链接。
二、VBA宏脚本(适合重复执行/自动化)
如果需要频繁做这个操作,写个简单的VBA宏能帮你节省大量时间:
- 打开Excel工作簿,按
Alt+F11打开VBA编辑器。 - 右键点击左侧的工作簿名称,选择「插入」→「模块」。
- 粘贴下面的代码,记得根据你的实际情况修改工作表名称和单元格地址:
Sub SumAndPasteToSheet() ' 定义源工作表和目标工作表对象 Dim sourceWs As Worksheet Dim targetWs As Worksheet ' 替换成你的源表和目标表的实际名称 Set sourceWs = ThisWorkbook.Worksheets("Sheet1") Set targetWs = ThisWorkbook.Worksheets("Sheet2") ' 计算指定三个单元格的和,支持连续或不连续的单元格 ' 连续单元格可以写成:WorksheetFunction.Sum(sourceWs.Range("A1:C1")) Dim total As Double total = WorksheetFunction.Sum(sourceWs.Range("A1,B3,D5")) ' 将结果写入目标工作表的指定单元格,比如Sheet2的E2 targetWs.Range("E2").Value = total End Sub
- 回到Excel界面,按
Alt+F8调出宏对话框,选中SumAndPasteToSheet点击「执行」就完成了。
小提示
- 如果你的单元格可能包含空值或文本,用
WorksheetFunction.Sum比直接加单元格值更靠谱,它会自动跳过非数值内容。 - 要是需要每次打开工作簿自动执行,还可以把代码放到
Workbook_Open事件里,不过一般手动触发宏就够用了。
内容的提问来源于stack exchange,提问作者user3662150
相关产品推荐
相关产品推荐

