0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

別ブック(複数)から指定列の値をコピーペーストする方法

Last updated at Posted at 2021-10-03

キーワード検索で指定フォルダ内のファイル名一覧を取得する方法 ExcelVBA
の続きになります。

#ユーザーから見た画面の流れ

①データを取得・貼付ボタンを押下
②検索結果 ファイル名を元にデータの取得・貼付開始
111.jpg
###結果
各ファイル名とデータが貼付けられます。
B列とD列のデータがある行までをコピーしてくるように指示しています。
222.jpg
コピー先のテストデータは以下の通りです。
各シート名はすべて、"取り込むシート"として、
C:\test\ディレクトリの下に置いてあります。

333.jpg

Sub データ取込貼付()

    Const Path As String = "C:\test\" '固定ディレクトリパス'
    
    Dim SetFile As String
    Dim wbCopy, wbPaste As Workbook
    Dim row As Integer
    Dim cnt As Long 'カウント'
    Dim FileName As String
    Dim NextRow As Long
    
    row = 7
    cnt = 6
    
    Do Until ThisWorkbook.Worksheets("マクロ定義シート").Cells(row, 2).Value = ""
    
        cnt = cnt + 1
        FileName = ThisWorkbook.Worksheets("マクロ定義シート").Cells(cnt, 2)
        SetFile = Path + FileName
    
        Set wbPaste = ThisWorkbook
        Set wbPaste = ActiveWorkbook
        
         Application.DisplayAlerts = False

        Workbooks.Open FileName:=SetFile, ReadOnly:=True, UpdateLinks:=0 '読み取り専用で開く
        Set wbCopy = Workbooks.Open(SetFile)
        
            wbCopy.Worksheets("取り込むシート").Range("B2", Range("B1").End(xlDown)).Copy '★選択1列目コピー
            
            NextRow = ThisWorkbook.Worksheets("貼付先シート").UsedRange.SpecialCells(xlCellTypeLastCell).row + 1 '☆最終行から追加する
            
            wbPaste.Worksheets("貼付先シート").Range("A" & NextRow + 1) = FileName    'ファイル名記入
            wbPaste.Worksheets("貼付先シート").Range("B" & NextRow + 1).PasteSpecial xlPasteFormulasAndNumberFormats '★選択1列目貼付
    
            wbCopy.Worksheets("取り込むシート").Range("D2", Range("D1").End(xlDown)).Copy '★選択2列目コピー
            wbPaste.Worksheets("貼付先シート").Range("D" & NextRow + 1).PasteSpecial xlPasteFormulasAndNumberFormats '★選択2列目貼付
            
            Application.CutCopyMode = False  'コピー切り取りを解除
            wbCopy.Close False  'マスターデータ取り込み先のファイルを閉じる
    
        Application.DisplayAlerts = True
        
        row = row + 1
        
    Loop
    
End Sub
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?