2015-07-10 76 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

相關問題