Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/17.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 将一系列单元格从工作表复制到另一个工作簿_Excel_Vba - Fatal编程技术网

Excel 将一系列单元格从工作表复制到另一个工作簿

Excel 将一系列单元格从工作表复制到另一个工作簿,excel,vba,Excel,Vba,我打算使用“提交”按钮将一系列单元格从名为“STN-1”的工作表复制到sheet1中的另一个工作簿。 我编写的代码如下所示: Private Sub CommandButton1_Click() Dim MyData As Workbook Set MyData = Workbooks.Open("C:\Users\askhan\dropbox\surgery\osce bank\SUR-OSCE AY2014-15-G1-QUESTIONS.XLSX") Worksheets("sheet

我打算使用“提交”按钮将一系列单元格从名为“STN-1”的工作表复制到sheet1中的另一个工作簿。 我编写的代码如下所示:

Private Sub CommandButton1_Click()
Dim MyData As Workbook

Set MyData = Workbooks.Open("C:\Users\askhan\dropbox\surgery\osce bank\SUR-OSCE 
AY2014-15-G1-QUESTIONS.XLSX")
Worksheets("sheet1").Select
With Worksheets("sheet1").Range("A1:f50").Select
Selection.Copy
Range ("a1:f50")
ActiveSheet.Paste
End With
MyData.Save
End Sub

但它给出了编译错误。如果有人能纠正这段代码,我对使用宏非常陌生。

试试这个。您可以完全避免
选择
.Copy
参数允许一个可选参数指定目标,如下所示:

Private Sub CommandButton1_Click()
Dim myData as Workbook

Set MyData = Workbooks.Open( _
    "C:\Users\askhan\dropbox\surgery\osce bank\SUR-OSCE AY2014-15-G1-QUESTIONS.XLSX")

MyData.Worksheets("sheet1").Range("A1:f50").Copy _
    Workbooks("Other Book").Worksheets("Sheet1").Range("A1")
MyData.Save


End Sub

当然,您需要修改目标工作簿/工作表/范围目标以满足您的需要。

请David先生写完整的代码。它给出了运行时错误9,下标超出范围。该错误意味着您指定的工作簿或工作表不存在。当您的意思是“不存在”时,您的方向是代码中的“其他书籍”还是什么?那么你的意思是,我给出了正确的路径,比如c:\Users…等等?你不需要给出完整的路径,只需要给出文件名,并且该文件必须在当时打开。在tihs代码中,该错误有三个潜在点:我认为您需要将此部分更改为:
MyData.Worksheets(“sheet1”)
:改为:
MyData.Worksheets(“STN-1”)
。是的,
“其他书籍”
应更改为您希望将数据复制到的工作簿的名称。注意:您的问题不太清楚哪一页在哪本书中,哪一页是副本的来源,哪一页是副本的目的地。考虑修改你的Q来更全面地描述这个问题吗?