VBA贴特别

时间:2015-02-06 21:59:32

标签: vba excel-vba excel

我正在尝试编写一个脚本,将条目从一个工作表单元格复制到另一个工作表单元格中。我有问题将合并的单元格设置为粘贴在非合并的单元格中。我有以下代码,我知道我可以使用特殊粘贴功能,但我可以一次使用多个吗?会粘贴:= xlColumnWidth帮助吗?

Sheets("Sheet3").Select
    Range("N6:O6").Select
    Selection.Copy
    Sheets("Reports").Select
    Range("O4").Select
    Selection.PasteSpecial Paste:=xlPasteValues

3 个答案:

答案 0 :(得分:0)

我同意David关于避免选择,但宏录制器产生了以下内容:

Sub Macro2()
    Sheets("Sheet3").Select
    Range("N6:O6").Select
    Selection.Copy
    Sheets("Reports").Select
    Range("O4").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub

似乎可以合并 N6:O6 ..

答案 1 :(得分:0)

对于像这样的大量数据,不需要做这样的事情,但要注意select中不需要excel-vba,并且可以避免剪贴板:< / p>

Sub Macro2()

Dim vArr As Variant
vArr = Sheets("Reports").Range("N6:O6")

Dim Destination As Range
Set Destination = Sheets("Sheet3").Range("O4")
Destination.Resize(UBound(vArr, 1), UBound(vArr, 2)).Value = vArr

End Sub

答案 2 :(得分:0)

猜猜我会把这个作为答案

Worksheets("Reports").Range("O4") = Worksheets("Sheet3").Range("N6").MergeArea.Cells(1, 1).Value