Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
excel中VBA的应用_Vba_Excel - Fatal编程技术网

excel中VBA的应用

excel中VBA的应用,vba,excel,Vba,Excel,我将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的文本。它基本上选择了一系列的细胞,然后打算复

我将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
的文本。它基本上选择了一系列的细胞,然后打算复制它们,但效果并不好


如何修复此代码以将单元格从一个位置复制到另一个位置?

给你,这是如何进行复制:

'Copy range A1:A9 from Sheet1 to Sheet2 A1 :
ThisWorkbook.Sheets("Sheet1").Range("A1" & ":" & "A9").Copy _
    Destination:=ThisWorkbook.Sheets("Sheet2").Range("A1")

'With your references :
Form1.ex.Range(r1.Text & ":" & r1x.Text).Copy _
    Destination:=Form1.ex.Range(c1.Text)
在您的示例中,您使用Form1和ex,如果它们分别是工作簿和工作表,则代码可以工作,但如果是UserForm,则不会工作


不要使用
+
连接字符串,这是运算符
&

我在您的问题的注释中添加了您的代码和解释,还整理了您的问题。看看我是如何格式化的代码,因为你说你以前有问题,这也是一个有用的资源。如果你能解释一下这段代码“工作不好”,这将有助于任何试图回答你的问题的人。“r1x包含r1和r1x的文本。”-你在这里是什么意思?啊,似乎是超偏见的人把它编辑错了,但无论如何谢谢:3 btw等级,看看我会怎么解释我需要复制8或9个单元格,所以我决定创建第一个单元格和最后一个单元格,这样就很容易复制,例如:A1:A9而不是A1、A2、A3等。。r1是第一个单元格(A1)r1x是最后一个单元格(A9),所以我想复制所有这些(A1到A9)范围r1、r1x、c1和c2是什么?这些是你创造的形状吗?它们是细胞吗?因为如果它们是单元格,那么在我预期的.Formula或.Value时,您正在使用.Text函数。我的建议是将变量设置为与电子表格中的特定单元格相等,然后对其进行专门命名,以便能够在代码中引用它们,而不管插入列/行时这些单元格如何移动。