2013-10-27 57 views
-1

= copy_function名称(“单元格区域”,“单元格范围”,“单元格范围”,工作簿name_anddestinationcelladdress)复制范围的行和列的表

你好,我是新的节目我希望有一个功能是像这样= copy_function name(“单元格范围”,工作簿name_andcelladdress)将复制单元格提到所需的工作簿并打开工作簿与复制的值。

单元格范围也会像这样假设我从(a1:j15)的表中得到,然后我只想要(“a1:a4”,“c1:e4”)如观察到B列不需要被复制到工作簿。

回答

0

您将需要一个子函数而不是函数,因为您想要做的不仅仅是返回一个简单的值。这里是一个非常简单的子,你可以适应您的需求:

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 

你可以从检查测试子见主要CopyBlock有两个输入参数:

  1. 片源表单的名称|源范围的地址
  2. 目标文件的filespec |目标工作表|的工作表名称目标范围的左上角。