-1

=copy_function name("セル範囲","セル範囲","セル範囲",ワークブック名​​_anddestinationcelladdress)

こんにちは、私はプログラミングが初めてで、関数をこの =copy_function name("cell range",workbook name_andcelladdress) のようにしたいと考えています。

セル範囲もこのようになります (a1:j15) からのテーブルがあり、("a1:a4","c1:e4") のみが必要な場合、B 列をワークブックにコピーする必要はありません。

4

1 に答える 1

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

テスト サブMAINを調べるとわかるように、CopyBlockには 2 つの入力パラメーターがあります。

  1. ソース シートのシート名 | ソース範囲のアドレス
  2. 宛先ファイルの filespec | 宛先シートのシート名 | 宛先範囲の左上隅。
于 2013-10-27T14:58:50.563 に答える