2015-07-10 89 views
0

vba新手,我在粘贴时遇到困难。这是我的代码:从一个可变的范围粘贴

昏暗XTEXT作为字符串

昏暗ytext作为字符串

X = ActiveSheet.Range( “A8”)

Y = ActiveSheet.Range( “A9”)

范围( “A6”)选择 Selection.Copy

范围( “XTEXT:ytext”)。选择 Selection.Paste

Endsub

细胞A8(这是变量x)值是B2,和细胞A9(这是变量y)是B​​10。我认为它会粘贴到B2:B10,而是粘贴到x:y列中。所以我有点想让它像间接公式一样工作?我不确定这是否接近我想要的?

谢谢!

回答

0

重命名您的变量 - “x”&“y”很糟糕,因为它们并不代表它们持有的是什么。 Excel中尤其如此,单个字母也指一列 - 这就是发生在这里的事情;你已经发布到范围“X:Y”,这就是所有列X的选择,以及列Y的全部。

你的整个代码一起变成[请注意,我将x和y的定义更改为是范围,而不是文本字符串,因此必须通过“set = to”]使它们等于您的A8 [假设在您的电子表格中,单元格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 A9 &什么

+0

对不起,CON融合,我想我可能会误导你。范围(“A10”)和范围(“A11”)仅用于验证目的。如果我将变量更改为xtext和ytext,我想要粘贴的范围内,所以现在我更简单:Dim xtext As String Dim ytext As String xtext = ActiveSheet.Range(“A8”) ytext = ActiveSheet.Range(“A9”)Range(“A6”)。Select Selection.Copy Range(“xtext:ytext”)。Select ActiveSheet.Paste – TriariiMaster

+0

编辑您的问题以提供您的数据以及您想要的结果成为。 –

+0

好吧,我编辑它。如果有意义的话,我只想粘贴到变量的范围内。 – TriariiMaster

相关问题