vba的新手,我在粘贴时遇到困难。这是我的代码:
Dim xtext As String
Dim ytext As String
x = ActiveSheet.Range(" A8")
y = ActiveSheet.Range(" A9")
范围(" A6&#34)。选择 Selection.Copy
范围(" XTEXT:ytext&#34)。选择 Selection.Paste
Endsub
单元格A8(变量x)值为B2,单元格A9(变量y)为B10。我以为它会粘贴在B2:B10上,而是粘贴到x:y列中。所以我希望它像间接公式一样工作?我不确定这是否与我想要的相近?
谢谢!
答案 0 :(得分:0)
重命名变量 - “x”& “y”很糟糕,因为它们并不表示他们持有什么。在Excel中尤其如此,其中单个字母也指一列 - 这就是这里发生的事情;你已经发布了范围“X:Y”,它只是所有列X的选择,以及所有列Y.
你的整个代码变成了[请注意,我将x和y的定义更改为范围,而不是文本字符串,因此必须使它们等于您的A8& A9 by“set = to”] [在您的电子表格中假设单元格A8表示“B2”,A9表示“B10”]:
Sub test()
Dim x As Range
Dim y As Range
Set x = ActiveSheet.Range("A8")
Set y = ActiveSheet.Range("A9")
Range("A6").Select
Selection.Copy
Range(x.Text, y.Text).Select
ActiveSheet.Paste
End Sub
编辑现在间接参考进入细胞A8和A8的细胞。 A9 强>