1
With Application.FileDialog(msoFileDialogOpen)
    .Filters.Clear
    .Filters.Add "Excel 2002-03", "*.xls", 1
    .Filters.Add "Excel 2007", "*.xlsx; *.xlsm; *.xlsa", 2
    .AllowMultiSelect = False
    .Show



    If .SelectedItems.Count > 0 Then
        Workbooks.Open .SelectedItems(1)
        Set wkbSourceBook = ActiveWorkbook
        Set rngSourceRange = Application.InputBox(prompt:="Select source range", Title:="Source Range", Default:="A1", Type:=8)
        wkbCrntWorkBook.Activate
        Set rngDestination = Application.InputBox(prompt:="Select destination cell", Title:="Select Destination", Default:="A1", Type:=8)
        rngSourceRange.Copy rngDestination
        rngDestination.CurrentRegion.EntireColumn.AutoFit
        wkbSourceBook.Close False
    End If

End With

ファイル名を入力として受け取るダイアログ ボックスを作成してから、範囲などを選択する代わりに、完全なシートを別のワークブックにコピーする必要があります。どうやってするか

4

1 に答える 1

1

Copyオブジェクトのメソッドを使用できWorksheetます。

wkbSourceBook.Sheets(1).Copy After:=wkbCrntWorkBook.Worksheets(1)

名前で好きなシートを選ぶことができます。既存の名前でコピーし、すでに存在する場合は「名前(2)」になります。その後、そこから名前を変更できます。

于 2012-08-02T10:59:35.880 に答える