Excel VBA如何将运算结果仅以数值形式粘贴到T7至数据集末尾
VBA 提取公式运算值粘贴到指定区域实现方案
实现代码
你只需要在原有代码末尾追加对应赋值逻辑即可,修改后的完整代码如下:
LR = Range("AB" & Rows.Count).End(xlUp).Row Range("AB7:AB" & LR).FormulaR1C1 = "=IF(RC[-9]=""Debit"",""Credit"",""Debit"")" Dim num As Long ' 提示:该变量目前未被使用,无需求可直接删除 LR = Range("AC" & Rows.Count).End(xlUp).Row Range("AC7:AC" & LR).FormulaR1C1 = "=abs(RC[-9])" ' 推荐方案:直接赋值,运行效率更高,不占用系统剪贴板 Range("T7:T" & LR).Value = Range("AC7:AC" & LR).Value ' 可选方案:复制粘贴值,和手动操作逻辑一致 ' Range("AC7:AC" & LR).Copy ' Range("T7").PasteSpecial Paste:=xlPasteValues ' Application.CutCopyMode = False ' 取消单元格复制虚线状态
方案说明
- 直接赋值方案通过读取单元格区域的
Value属性直接获取公式运算结果,不会携带原有公式,也不会修改剪贴板内容,适合绝大多数场景使用 - 复制粘贴值方案和Excel手动操作的「粘贴值」功能逻辑完全一致,适合需要对齐手动操作习惯的场景
内容的提问来源于stack exchange,提问作者Sage Mulkey
相关产品推荐
相关产品推荐

