1

我在下面的代码做错了什么?我正在尝试命名在 excel 中突出显示的一系列数据,并能够在 VBA 代码中调用它并将其粘贴、转置等,但它一直给我一个错误。

Sub routine()

Dim rng As Range
Set rng = ActiveCell.CurrentRegion

Cells(10, "D").Select
rng.PasteSpecial

End Sub

我还注意到,当键入“ActiveCell”时。并点击空格,我会得到一个下拉选项。但是,当我键入“Cells(1,1)”时,情况并非如此。和空间。这是为什么?谢谢你们的帮助!

4

1 回答 1

1

编辑:阅读评论后:这是复制一系列单元格的更简单方法,然后将特殊(值)粘贴到其他地方。我获得了这段代码,我完全录制了一个宏。

Sub Macro1()
    Range("A1:C3").Select
    Selection.Copy
    Cells(10,"D").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Application.CutCopyMode = False
End Sub

如果您打算将 D10 范围复制到任何活动单元格,则更改

Cells(10, "D").Select

Cells(10, "D").copy

您还需要指定要特别粘贴的内容(值?格式?)所以您的完整代码应该像

Sub routine()

    Dim rng As Range
    Set rng = ActiveCell.CurrentRegion

    Cells(10, "D").Copy
    rng.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False   'This will only paste values

    Application.CutCopyMode = False
End Sub
于 2012-11-10T06:16:18.797 回答