【发布时间】:2015-08-12 21:21:07
【问题描述】:
我正在将 VBA 与应用程序一起使用,以通过电子表格中的一些操作自动执行 Excel。但是我不知道如何以编程方式复制单元格。
我尝试使用此代码:
Form1.ex.Range(r1.Text + ":" + r1x.Text).Activate()
Form1.ex.ActiveCell.Copy(Destination:=Form1.ex.Range(c1.Text + ":" + c2.Text))
其中r1 是我复制的内容,然后r1x 包含r1 和r1x 的文本。它基本上选择了一系列单元格,然后打算复制它们,但效果不佳。
如何修复此代码以将单元格从一个位置复制到另一个位置?
【问题讨论】:
-
我将您的代码和来自 cmets 的解释添加到您的问题中,并稍微整理了您的问题。看看我是如何格式化代码的,因为你之前说你遇到过问题,the editing help 也是一个有用的资源。如果您可以edit your question 解释此代码“无法正常工作”的原因,它将帮助任何试图回答您的问题的人。
-
"r1x 包含 r1 和 r1x 的文本。" - 你在这里是什么意思?
-
啊,似乎 SuperBiasedMan 编辑错了,但无论如何谢谢:3 顺便说一句,看看我将如何解释它我需要复制大约 8 或 9 个单元格,所以我决定创建第一个单元格和最后一个单元格单元格,因此很容易复制,例如:A1:A9 而不是 A1、A2、A3 等。r1 是第一个单元格 (A1) r1x 是最后一个单元格 (A9) 所以我想复制所有这些 (A1到 A9) 范围
-
什么是 r1、r1x、c1 和 c2?这些形状是您创建的吗?它们是细胞吗?因为如果它们是单元格,那么当我期望 .Formula 或 .Value 时,您正在使用 .Text 函数。我的建议是将您的变量设置为等于电子表格中的特定单元格,然后您专门命名这些单元格以便能够在代码中引用它们,而不管这些单元格在插入列/行时如何移动。