※上記の広告は60日以上更新のないWIKIに表示されています。更新することで広告が下部へ移動します。

Excelのブック・シートの値コピー

  • ソース
Option Explicit

' EXS_DataCopyObject
' 指定ブック・シートに、指定ブック・シートを値コピーする

Private CopyFileInfo As CMN_FileInfo
Private CopySheetName As String
Private PasteFileInfo As CMN_FileInfo
Private PasteSheetName As String

Private Sub class_initialize()
    ' なにもしない
End Sub

' SetCopyFileInfo
' コピー元になる指定ブックとシートの名前を取得する
' 引数:あり
' iCopyFileInfo :CMN_FileInfo    :ファイル情報
' iSheetName    ;String    :シート名
' 戻り値:なし
Public Function SetCopyFileInfo(ByVal iCopyFileInfo As CMN_FileInfo, ByVal iSheetName As String)
    Set CopyFileInfo = iCopyFileInfo
    CopySheetName = iSheetName
End Function

' SetPasteFileInfo
' ペースト先になる指定ブックとシートの名前を取得する
' 引数:あり
' iPasteFileInfo :CMN_FileInfo    :ファイル情報
' iSheetName    ;String    :シート名
' 戻り値:なし
Public Function SetPasteFileInfo(ByVal iPasteFileInfo As CMN_FileInfo, ByVal iSheetName As String)
    Set PasteFileInfo = iPasteFileInfo
    PasteSheetName = iSheetName
End Function

' CopyAndPaste
' コピー元からペースト先にシートの値貼り付けを行う
' 引数:なし
' 戻り値:なし
Public Function CopyAndPaste()
    Dim copyFile As EXS_ExcelFileObject
    Dim pasteFile As EXS_ExcelFileObject
    
    ' 1.初期化
    Set copyFile = New EXS_ExcelFileObject
    Set pasteFile = New EXS_ExcelFileObject
    
    ' 2.それぞれのファイルを設定・開く
    Call copyFile.SetTargetFileInfo(CopyFileInfo)
    Call copyFile.OpenFile
    Call pasteFile.SetTargetFileInfo(PasteFileInfo)
    Call pasteFile.OpenFile
    
    ' 3.コピー元の指定シートをコピーする
    Windows(CopyFileInfo.GetFileName).Activate
    Sheets(CopySheetName).Select
    Cells.Select
    Application.CutCopyMode = False
    Selection.Copy
    
    ' 4.ペースト先の指定シートにペーストする
    Windows(PasteFileInfo.GetFileName).Activate
    Sheets(PasteSheetName).Select
    Range("A1").Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("A1").Select
    
    ' 5.ペースト先のファイルを上書き保存
    Call pasteFile.SaveFile
        
    ' 6.それぞれのファイルを閉じる
    Call copyFile.CloseFile
    Call pasteFile.CloseFile
End Function