首页 > 解决方案 > 如何使用 PasteSpecial 和 Size 在 VBA 中粘贴目标格式?

问题描述

我想 cltr + v 并执行一个代码,尽可能地粘贴我的目标格式

好吧,我粘贴特殊的值,然后重新格式化这些值

但我在 ActiveCell.PasteSpecial (xlPasteValues) 行上出现错误,“Range 类的PasteSpecial 方法失败 1004 运行时错误”

我想让这段代码整洁,但我遇到了一些麻烦。

此外,由于某种原因(尽管修剪、右对齐和名称“calibri”工作正常),粘贴值的 .Size 不正常(“对象不支持此属性”错误)

有什么想法吗?谢谢!

Sub PasteWithDestinationFormatting()

     ActiveCell.PasteSpecial (xlPasteValues)

End Sub


Sub TrimAndFit()

    Dim r As Range


    Call PasteWithDestinationFormatting



    With Application.WorksheetFunction

        For Each r In Intersect(Selection, ActiveSheet.UsedRange)

            r.Value = .Trim(r.Value)

            r.HorizontalAlignment = xlHAlignRight

            r.Name = "Calibri"

            r.Size = 11

        Next r

    End With

End Sub

标签: excelvbatrimpaste

解决方案


VBA 智能感知应该在这里提示您。如果您开始在 VBE 中输入有问题的行,您会看到这不是Size对象可用属性(链接到 dox)。Range

在此处输入图像描述

假设您要将字体大小设置为 11,您需要:

r.Font.Size = 11

推荐阅读