我正在尝试编写一个脚本,将条目从一个工作表单元格复制到另一个工作表单元格中。我有问题将合并的单元格设置为粘贴在非合并的单元格中。我有以下代码,我知道我可以使用特殊粘贴功能,但我可以一次使用多个吗?会粘贴:= xlColumnWidth帮助吗?
Sheets("Sheet3").Select
Range("N6:O6").Select
Selection.Copy
Sheets("Reports").Select
Range("O4").Select
Selection.PasteSpecial Paste:=xlPasteValues
答案 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