从变量定义的范围粘贴
Pasting from a variable defined range
vba 的新手,我在粘贴时遇到困难。这是我的代码:
将 xtext 变暗为字符串
将 ytext 变暗为字符串
x = ActiveSheet.Range("A8")
y = ActiveSheet.Range("A9")
范围("A6").Select
Selection.Copy
范围("xtext:ytext").Select
Selection.Paste
收尾
单元格A8(变量x)值为B2,单元格A9(变量y)值为B10。我以为它会从 B2:B10 粘贴,但实际上是粘贴到 x:y 列中。所以我有点希望它像间接公式一样工作?我不确定这是否接近我想要的?
谢谢!
重命名您的变量 - "x" 和 "y" 不好,因为它们不能指示它们所持有的内容。在 Excel 中尤其如此,其中单个字母也指代一列 - 这就是此处发生的情况;您已发布到范围 "X:Y",这只是所有 X 列和所有 Y 列的选择。
您的整个代码一起变成了[请注意,我将您对 x 和 y 的定义更改为范围,而不是文本字符串,因此必须通过 "set = to" 使它们等于您的 A8 和 A9][假设在您的电子表格中,单元格 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 中输入的内容
vba 的新手,我在粘贴时遇到困难。这是我的代码:
将 xtext 变暗为字符串
将 ytext 变暗为字符串
x = ActiveSheet.Range("A8")
y = ActiveSheet.Range("A9")
范围("A6").Select Selection.Copy
范围("xtext:ytext").Select Selection.Paste
收尾
单元格A8(变量x)值为B2,单元格A9(变量y)值为B10。我以为它会从 B2:B10 粘贴,但实际上是粘贴到 x:y 列中。所以我有点希望它像间接公式一样工作?我不确定这是否接近我想要的?
谢谢!
重命名您的变量 - "x" 和 "y" 不好,因为它们不能指示它们所持有的内容。在 Excel 中尤其如此,其中单个字母也指代一列 - 这就是此处发生的情况;您已发布到范围 "X:Y",这只是所有 X 列和所有 Y 列的选择。
您的整个代码一起变成了[请注意,我将您对 x 和 y 的定义更改为范围,而不是文本字符串,因此必须通过 "set = to" 使它们等于您的 A8 和 A9][假设在您的电子表格中,单元格 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 中输入的内容