VBA-选择性粘贴PasteSpecial
Range对象.PasteSpecial(Paste,Operation,SkipBlanks,Transpose)
参数均为可选。若没有指定参数,则直接复制。

Paste xlPasteType常量,指定复制的具体内容。默认为全部复制。
- 全部 xlPasteAll
- 公式 xlPasteFormulas
- 数值 xlPasteValues
- 格式 xlPasteFormats
- 批注 xlPasteComments
- 验证 xlPasteValidation
- 所有使用源主题的单元 xlPasteAllUsingSourceTheme
- 边框除外 xlPasteAllExceptBorders
- 列宽 xlPasteColumnWidths
- 公式和数字格式 xlPasteFormulasAndNumberFormats
- 值和数字格式 xlPasteValuesAndNumberFormats
- 所有合并条件格式 xlPasteAllMergingConditionalFormats
Operation xlPasteSpecialOperation常量,指明粘贴时要进行的运算操作,即将复制的单元格中的数据与指定单元格区域中的值进行加减乘除运算。
- 无 xlPasteSpecialOperationNone
- 加 xlPasteSpecialOperationAdd
- 减 xlPasteSpecialOperationSubtract
- 乘 xlPasteSpecialOperationMultiply
- 除 xlPasteSpecialOperationDivide
SkipBlanks 跳过空单元格
Transpose 转置
只粘贴格式而不粘贴值
Sub testPasteSpecial1()
Range('C2:C4').Copy
Range('E2').PasteSpecialPaste:=xlPasteFormats
End Sub
只粘贴值
Sub testPasteSpecial2()
Range('C2:C4').Copy
Range('F2').PasteSpecialPaste:=xlPasteValues
End Sub
粘贴值并保持列宽
Sub testPasteSpecial3()
Range('A1:A3').Copy
Range('C1').PasteSpecialPaste:=xlPasteColumnWidths
Range('C1').PasteSpecialPaste:=xlPasteValues
End Sub
or
Sub testPasteSpecial4()
Range('A1:A3').Copy
Range('C1').PasteSpecialPaste:=xlPasteColumnWidths
Range('A1:A3').CopyRange('C1')
End Sub
对粘贴的区域进行运算
Sub testPasteSpecial5()
Range('C1').Copy
Range('A1:A3').PasteSpecialOperation:=xlPasteSpecialOperationMultiply
End Sub
将行列转置
Sub testPasteSpecial6()
Range('A1:A3').Copy
Range('C1').PasteSpecialTranspose:=True
End Sub
使用PasteSpecial方法时剪贴板中没有数据
说明:使用PasteSpecial方法时会出错。例如,执行下面的代码:
Sub testPasteSpecial7()
Selection.PasteSpecialPaste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Selection.PasteSpecialPaste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
End Sub
VBA会提示:类Range的PasteSpecial方法无效
原因:因为剪贴板中没有可供粘贴的数据。特别是,当你在工作表中复制单元格区域后,在功能区中选择“开发工具”——“宏”或者按Alt F8调出宏对话框时,Excel会清除剪贴板。(事实上,在单元格中使用复制命令后,访问Excel中的任何对话框,剪贴板中的数据都会被清除)因此,再执行上述代码的话,肯定会出错了
解决方法:为了避免出现上述情况,可以将上面的宏过程赋给一个按钮,直接单击按钮执行;或者在VBE中按F5键执行。
发布于 2020-04-04
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具