在VBA中调用范围
下面的代码有什么问题?我试图命名excel中突出显示的一系列数据,并能够在VBA代码中调用这些数据,然后将其粘贴、转置,等等。但它总是给我一个错误在VBA中调用范围,vba,Vba,下面的代码有什么问题?我试图命名excel中突出显示的一系列数据,并能够在VBA代码中调用这些数据,然后将其粘贴、转置,等等。但它总是给我一个错误 Sub routine() Dim rng As Range Set rng = ActiveCell.CurrentRegion Cells(10, "D").Select rng.PasteSpecial End Sub 我还注意到,当键入“ActiveCell”并点击空格时,我会得到一个下拉选项。然而,当我输入“Cells(1,1)”和
Sub routine()
Dim rng As Range
Set rng = ActiveCell.CurrentRegion
Cells(10, "D").Select
rng.PasteSpecial
End Sub
我还注意到,当键入“ActiveCell”并点击空格时,我会得到一个下拉选项。然而,当我输入“Cells(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范围复制到任何activecell,请更改
Cells(10, "D").Select
到
您还需要指定要特别粘贴的内容(值?格式?)
所以您的完整代码应该是
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
编辑:阅读评论后: 下面是一种简单的方法,可以复制一系列单元格,然后将特殊(值)粘贴到其他位置。我在录制宏时获得了这段代码
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范围复制到任何activecell,请更改
Cells(10, "D").Select
到
您还需要指定要特别粘贴的内容(值?格式?)
所以您的完整代码应该是
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
您没有首先复制就粘贴?是否出现错误“剪贴板上的数据大小和形状不相同…”?从您的示例数据中,一个简单的
ActiveCell.CurrentRegion.Copy Cells(10,“D”)
将执行复制和粘贴。转置类似于Ahmad的代码样本,您在粘贴时没有首先复制?您的错误是“剪贴板上的数据大小和形状不同…”吗?从您的样本数据中,一个简单的ActiveCell.CurrentRegion.Copy Cells(10,“D”)
将进行复制和粘贴。转置就像艾哈迈德的代码样本一样。艾哈迈德,非常感谢你的帮助。但是代码不起作用。在定义此数据块是范围后,我想转到另一个单元格并将其粘贴到那里。请确切地告诉我您希望在正常条件下完成什么。您要复制的是什么?您要将其粘贴到哪里?您只想粘贴值/格式还是其他?嗨,Ahmad,是的,所以我想选择一个指定数据范围,比如说范围(“A1:C3”),将其命名为rng,然后转到单元格(5,“F”)并粘贴整个块的值。希望我更清楚一点。谢谢你的耐心@gabriel只需使用范围(“A1:C3”)。复制单元格(5,“F”)
。艾哈迈德,选项
是多余的。我知道我可以在一行中使用副本-->说明。但我希望能够定义范围并转到另一个单元格并粘贴值。我该怎么做?嗨,艾哈迈德,非常感谢你的帮助。但是代码不起作用。在定义此数据块是范围后,我想转到另一个单元格并将其粘贴到那里。请确切地告诉我您希望在正常条件下完成什么。您要复制的是什么?您要将其粘贴到哪里?您只想粘贴值/格式还是其他?嗨,Ahmad,是的,所以我想选择一个指定数据范围,比如说范围(“A1:C3”),将其命名为rng,然后转到单元格(5,“F”)并粘贴整个块的值。希望我更清楚一点。谢谢你的耐心@gabriel只需使用范围(“A1:C3”)。复制单元格(5,“F”)
。艾哈迈德,选项
是多余的。我知道我可以在一行中使用副本-->说明。但我希望能够定义范围并转到另一个单元格并粘贴值。我该怎么做?