-1

=copy_function name("单元格范围","单元格范围","单元格范围",workbook name_anddestinationcelladdress)

您好,我是编程新手,我想要一个像这样的函数 =copy_function name("cell range",workbook name_andcelladdress) ,它将将提到的单元格复制到所需的工作簿并打开带有复制值的工作簿。

假设我有来自 (a1:j15) 的表格,那么单元格范围也将是这样的,那么我只想要 ("a1:a4","c1:e4") 观察到 B 列不需要复制到工作簿。

4

1 回答 1

0

你需要一个 sub 而不是一个函数,因为你想做的不仅仅是返回一个简单的值。这是一个非常简单的子程序,您可以根据自己的需要进行调整:

Sub CopyBlock(Sourze As String, Deztination As String)
    Dim FinalDestination As Workbook
    ary1 = Split(Sourze, "|")
    ary2 = Split(Deztination, "|")
    Set FinalDestination = Workbooks.Open(ary2(0))
    ThisWorkbook.Sheets(ary1(0)).Range(ary1(1)).Copy FinalDestination.Sheets(ary2(1)).Range(ary2(2))
    FinalDestination.Save
    FinalDestination.Close
End Sub

Sub MAIN()
    Call CopyBlock("Sheet1|A1:B9", "C:\TestFolder\ABC.xls|NewName|C10")
End Sub

从检查测试子MAIN可以看出,CopyBlock有两个输入参数:

  1. 源工作表的工作表名称 | 源范围的地址
  2. 目标文件的文件规范 | 目标工作表的工作表名 | 目标范围的左上角。
于 2013-10-27T14:58:50.563 回答