[[20180614024448]] 『異なるファイルから一つのシートにコピーペースト』(丸) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『異なるファイルから一つのシートにコピーペースト』(丸)

はじめまして。
マクロについてです。
似たような質問が過去にありますが、わからない点がありますのでお願いがあります。
異なるファイルから、ある部分をコピーして別ファイルにペーストする。
また、貼り付けたところから27行下に移動し、別のファイルからコピーペーストを行うということを繰り返したいです。
具体的には1年分のnippoファイルのデータ一部を、2017年使用.xlsmの項目Aというシートに貼りつけていきます。

マクロの記録では、
Sub Macro1()

    Workbooks.Open Filename:="C:\Users\XXX\Documents\nippo_170401.xls"
    Windows("nippo_170401.csv").Activate
    Range("O9:S33").Select  'コピーする箇所1
    Selection.Copy
    Windows("2017年使用.xlsm").Activate
    Sheets("項目A").Select
    Range("D5").Select 
    ActiveSheet.Paste  'D5に貼り付け
    Windows("nippo_170401.csv").Activate

    Range("E54:J78").Select  'コピーする箇所2
    Application.CutCopyMode = False
    Selection.Copy 
    Windows("2017年使用.xlsm").Activate
    Range("I5").Select
    ActiveSheet.Paste  'I5に貼り付け
    Application.CutCopyMode = False
    Workbooks("nippo_170401.csv").Close
    Range("D31").Select  'D5から27行下へ

End Sub

となったのですが、ここからどうやっていいかわからないです。
ファイル名が"nippo_170401.csv"と日付が入っており、次に"nippo_170402.csv"、"nippo_170403.csv"と連続して1年間分あります。
また、ペーストする場所が下へ移動していきます。(上記のD5、I5の部分)

これをどう書いていいか教えて頂けないでしょうか。

< 使用 Excel:Excel2016、使用 OS:Windows10 >


とりあえず現状のコードを整理するところから手を付けましょう。

・○○を選択(アクティブにして)
・選択したもの(アクティブになってるもの)を××
となっている部分がたくさんありますが、多くの場合
・○○を××
と記述することができます。

また、
・○○をコピー
・××に貼付
となっていますが
・○○をコピーして××に貼付
と記述することができます。

すると

    Windows("nippo_170401.csv").Activate
    Range("O9:S33").Select  'コピーする箇所1
    Selection.Copy
    Windows("2017年使用.xlsm").Activate
    Sheets("項目A").Select
    Range("D5").Select 
    ActiveSheet.Paste  'D5に貼り付け
     ↓
    workbooks("nippo_170401.csv").Range("O9:S33").Copy _
        workbooks("2017年使用.xlsm").Sheets("項目A").Range("D5")
のように整理できます。

整理できたら、
・マクロでブックを開く方法
・ループ処理
について学んでみましょう

(もこな2) 2018/06/14(木) 08:47


ごめんなさい。コピー元のシート修飾をわすれました。
【誤】
    workbooks("nippo_170401.csv").Range("O9:S33").Copy _
        workbooks("2017年使用.xlsm").Sheets("項目A").Range("D5")

【正】

    workbooks("nippo_170401.csv").sheets(1).Range("O9:S33").Copy _
        workbooks("2017年使用.xlsm").Sheets("項目A").Range("D5")

(もこな2) 2018/06/14(木) 09:04


たぶんですが、学校風に言うと
【1時限目】コピー&ペーストのやりかた ← いまココ
【2時限目】マクロでブックを開く方法
【3時限目】ループ処理のやり方
【4時限目】日付を文字列に変換する方法
【5時限目】仕上げ
みたいに、段階的に調べて(必要があれば聞いて)理解していくとされたいことができるようになるとおもいます。
(もこな2) 2018/06/14(木) 12:38

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.