我正在尝试一个简单的转置宏,我遇到了这个错误,尝试了几个解决方案,但仍然遇到了问题。
这是代码。
Sub pastetrasp(Zone As String)
Dim asdf1 As Range
Dim n As Integer
If Zone = "CF" Then
Set asdf1 = Range("Q1:Q4")
Set asdf2 = Range("P1:P4")
Set asdf3 = Range("O1:O4")
n = 1
End If
Sheets("Data").Select
Sheets("Data").asdf1.Select ' ERROR
ActiveCell.Copy
Sheets("example").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True
ActiveCell.Offset(0, -n).Select
end sub
答案 0 :(得分:0)
ActiveCell
无法引用范围。而且您也不需要使用Select
。
使用asdf1.Copy
复制
对于PasteSpecial
,您需要在其前面加上一个范围,但是您要在该行之前选择一个工作表。
相反,您可以执行类似
的操作 Sheets("example").Range("A1").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=True