• 締切済み

excelマクロ 別ファイルの特定列をコピーしたい

C:\testの配下にexcelファイル「aaa.xls」「aaa_yyyymmdd.xls」「bbbxls」があります。 「aaa_yyyymmdd.xls」は「aaa.xls」のバックアップファイルです。 又、「bbbxls」にマクロを記述しようと思います。 ☆処理内容☆ 「aaa.xls」「aaa_yyyymmdd.xls」が開いていない状態で、「aaa.xls」のシート「sheet1」内の E列をコピーして「bbbxls」のシート「sheet3」のA列に貼り付け。 「aaa_yyyymmdd.xls」のシート「sheet1」内の E列をコピーして「bbbxls」のシート「sheet3」のB列に貼り付け。 その後、張り付けたA列を正としB列と比較して、差異があった場合はB列の差異があった部分の セルに色つけをした後、「aaa_yyyymmdd.xls」をC:\test:\oldフォルダに移動する。 上記のようなexcelマクロを作成中なのですが、できなくて困っております。 有識者の方、助けを貸してください。 よろしくお願い致します。

みんなの回答

  • mt2008
  • ベストアンサー率52% (885/1701)
回答No.3

> その後、張り付けたA列を正としB列と比較して、差異があった場合はB列の差異があった部分の > セルに色つけをした後、「aaa_yyyymmdd.xls」をC:\test:\oldフォルダに移動する。 色を付けるのは「bbb.xls」?「aaa_yyyymmdd.xls」? どちらですか。 また、色を付けるのが「aaa_yyyymmdd.xls」だった場合、bbb.xlsに値を張り付ける処理は必要なんでしょうか。

  • NeilMania
  • ベストアンサー率30% (40/131)
回答No.2

途中まで作成されているようなので、コードアップするか どこがうまくいかないか書いた方が回答頂けるのではないでしょうか。

  • nag0720
  • ベストアンサー率58% (1093/1860)
回答No.1

とりあえず、その処理を「マクロの記録」でコードを記録してみてはいかが。 あと、aaa_yyyymmdd.xlsはそのままの名前なんでしょうか? それともyyyymmddの部分に日付が入るんでしょうか? 日付だとすると、その日付はどうやって指定するのでしょうか? ファイルの移動については、 FileSystemObject MoveFile をHELPで調べてみてください。

関連するQ&A

  • 別ファイルにある特定の文字列をコピーするマクロ

    マクロ初心者です。 取引先一覧.xlsのA2、B2、C2(A3、B3、C3…と、数十行続きます)に入っているそれぞれの三つの文字列を、 別ファイルである 伝票.xls の A2、A3、A4にコピーするマクロを組みたいです。 コピーする際は、 伝票.xls に設置した各取引先を示すボタンを押すことで、それぞれの取引先の住所や名前が 伝票.xls のA2~A4に飛んでくるようにしたいのですが、ファイルをまたがってのコピーの方法が分かりません。 初歩的な質問である上に分かりにくい説明で申し訳ありませんが、よろしくお願いいたします。

  • 別フォルダにあるエクセルファイルのF列値を、他ファイルにコピーさせたい

    仕事で、ある機器の検証をしています。 検証テストをするときに使用するファイルが、「Aフォルダ」に140ファイルあります。(ファイル名「101_○○○.xls~240_○○○.xls」) ↓ 検証テストは、1ファイルずつ複数人で行います。 ↓ 検証テストが終了したファイルは、Aフォルダから「B・C・Dフォルダ」のいずれかに切り取り移動されます。 ↓ ということで、移動されてしまったファイルは、Aフォルダ内を検索しても、#REF!と表示されてしまいます。 出来ていること (1)ファイルの所在検索マクロの組立て (2)Aフォルダ内にすべての140ファイルがあった場合のF列コピーマクロの組立て ※A,B,C,Dフォルダは、同フォルダ内、同階層にあります。 ※すべてのフォルダは、会社のネットワークドライブ上にあります。 ※Aフォルダ内のファイルは、最終的に0になります。 ※各ファイルがA・B・C・Dフォルダのいずれに保存されているかは「ファイル所在検索マクロ」を実行しないと分かりません。 可能がどうか知りたいこと!! ファイルの所在検索マクロから確認できたファイルの所在(ハイパーリンク付)&ファイル名から、ファイルを特定して、F列のコピーができるか? 「まとめのエクセルファイル」は、5シート構成です。 Sheet1…進捗&担当者一覧 Sheet2…101~240チェック_詳細結果 Sheet3…301~440チェック_詳細結果 Sheet4…501~640チェック_詳細結果 Sheet5…ファイル所在検索を求めるためのシート 上記の「Sheet2…101~240チェック_詳細結果」にマクロを入れたい。現状、このようになっています。  A   B   C  D  E  F  G  H …列 ファイル名→→ 101 102 103 104 105 106 … 求めたい値  1  OK  OK NG OK  NG ↓ 2  NG OK NG OK OK   ↓    3  OK OK NG OK OK   ↓    4  OK OK NG NG OK (行) ※列…ファイル名 ※行…各ファイルのF8:F57に表示される値 ※C列には、101_○○○.xlsのF8:F57の値をコピーしたいです。  D列には、102_○○○.xlsのF8:F57の値をコピーしたいです。 質問がややこしいですが、ぜひお願いします!!

  • エクセル(マクロ) 特定セルのファイル間コピペ

    マクロで下記内容の処理を行いたいと思っております。 どのようなコードにすればよいかご教授よろしくお願い致します。 1.A.xlsを開く 2.B.xlsを開く 3.B.xlsの特定セルの値をコピーする。(特定セルを仮にB4、C7、D9とする) 4.A.xlsのC列にあるファイル名リストから「B.xls」というファイル名の入ったセルを検索する。 5.仮に5行目に「B.xls」というファイル名があれば、同じ行にある特定列 (行は固定で、例えばE5、F5、G5とする)に3.でコピーしたB4、C7、D9の値を張り付ける。 ※B4はE列、C7はF列、D9はG列に対応するものとする 6.B.xlsを閉じる 7.C.xlsを開く 8.C.xlsの特定セルの値をコピーする。(特定セルはB.xlsと同じB4、C7、D9) 9.A.xlsのC列にあるファイル名リストから「C.xls」というファイル名の入ったセルを検索する。 10.仮に7行目に「C.xls」というファイル名があれば、同じ行にある特定列 (行は固定で、例えばE7、F7、G7とする)に8.でコピーしたB4、C7、D9の値を張り付ける。 ※B4はE列、C7はF列、D9はG列に対応するものとする 11.C.xlsを閉じる 12.D.xlsを開く 以下、同じ処理を繰り返す。

  • EXCEL マクロ どう記述したらよいですか?

    お世話になります。 まったくの素人です。 以下のような処理をしたいと考えております。 1)1つのフォルダに AAA.xls BBB.xls CCC.xls・・・をまとめておきます。   それとは別に、フォーマット.xls を用意します。 2)AAAを開き、aというシートにある列(1列)を選択、コピーし、   フォーマットの 【F列】 に 【値貼り付け】 で貼り付ける。   AAAは閉じる。 3)BBBを開き、aというシートにある列(1列)を選択、コピーし、   フォーマットの 【G列】 に 【値貼り付け】 で貼り付ける。   BBBを閉じる。 4)CCC・・・(aというシート名は固定、コピーする列も固定で1列のみです)。 5)以下、フォルダ内の全ファイルについて、同じ処理を繰り返し、   すべて貼り付け終えたら、完了。 宿題の丸投げのようで申し訳ないのですが、ご教示いただけると 幸いです。よろしくお願いします。

  • エクセルのマクロ

    以下の処理をするマクロを教えて頂きたいのですが。 ファイルab.xlsのSheet1のA1からA100までのデータを、ファイルcd.xlsのSheet3のC列にコピーする。 ただし、Sheet3のC列には既にデータが入力されているので(空欄も有)、一番末端に付け足す形にする。 続けて、ファイルab.xlsのSheet2のA1からA100までのデータを、ファイルcd.xlsのSheet3のC列に、前と同様のやり方でコピーする。 宜しくお願いいたします。

  • エクセルマクロでコピーの質問です。

    エクセルマクロでコピーの質問です。 こんにちわ^^; よくわからないエラーが起こっているため困っています。 1.xlsという別のエクセルを開いて指定のセルをコピーし、貼り付けるということで下記のマクロを作ってみました。 ちなみにマクロを書いたファイルはsum.xlsで、1.xlsのコピーしたいセルには数値のみ入っています(書式は会計)。 Sub before() Workbooks.Open Filename:="c:¥aaa¥1.xls" Range("a1:a5").Copy ActiveWindow.Close Range("a1").PasteSpecial End Sub しかし、このマクロをThisWorkbookに貼り付けると文字列として保存されてしまいます。 そこで最後の行を Range("a1").PasteSpecial Paste:=xlValues にするとエラー400が出ます。 一応、sheet1(sheet1)に貼り付けて実行してみたところ、コピー自体ができませんでした。 まだ余りエクセルマクロを理解していないため、なぜなのかが良くわからないのでアドバイスをお願いいたします。 ちなみに使っているのはoffice2003のエクセルです。

  • 【大至急】excel2003 VBAマクロの質問

    excel2003でのVBAマクロを作っているのですが、いまいちよくわからないのです 下記条件を満たすサンプルコードのご教示をお願いします。 ■初期状態 仮にフォルダ、ファイル配置が下記の通りだとします C:\マクロ.xls C:\template.xls C:\aaa\ C:\bbb\bbb_test.xls C:\ccc\ . . . C:\nnn\ ■動作要件 (1)マクロ.xlsは自分のファイルパスを検索する (2)マクロ.xlsと同じフォルダにあるサブフォルダ配下に、各々フォルダ名_test.xlsというファイルを作成する (3)上記(2)で.xlsファイルを作成するとき、template.xlsをコピーして作成する (4)既にサブフォルダ配下に***_test.xlsファイルが存在する場合は作成しない <マクロ実行後の状態> C:\マクロ.xls C:\template.xls C:\aaa\aaa_test.xls ←template.xlsからコピー作成 C:\bbb\bbb_test.xls ←ファイル作成、上書きはしない C:\ccc\ccc_test.xls ←template.xlsからコピー作成 . . . C:\nnn\nnn_test.xls ←template.xlsからコピー作成 (5)上記(1)-(4)を、フォルダがなくなるまで繰り返す 以上です。よろしくお願いします。

  • エクセルマクロ コピー元と貼り付け先を指定してコピー&ペーストを実行するマクロ

    単刀直入にやりたいことを述べます。 Cドライブと仮定します。3つのBOOKがあります。 それぞれ ----- BOOK1.xls「○○Sheet」・・・(実行するファイル)   A 1 BOOK2.xls「△△Sheet」・・・(コピーするファイル名の指定です) 2 A2:E2・・・(コピーするセル範囲の指定) 3 BOOK3.xls「□□Sheet」・・・(貼り付け先のファイル名の指定です) 4 A5・・・(貼り付け先のセルの指定) ----- BOOK2.xls「△△Sheet」・・・(コピー元ファイル)   ABCDE 1 あいうえお 2 かきくけこ 3 ・・・・・ ----- BOOK3.xls「□□Sheet」・・・(貼り付け先のファイル)   ABCDE 1 ・・・・・ 2 かきくけこ・・・(貼り付け) 3 ・・・・・ ----- >やりたいこと BOOK1.xls「○○Sheet」のA1のセルの値とA2セルの値を参照し、 その該当BOOKのセル範囲(BOOK2.xls「△△Sheet」のA2:E2)をコピーして、 BOOK1.xls「○○Sheet」のA3のセルの値と、A4セルの値を参照し、 その該当BOOKのセル範囲(BOOK3.xls「□□Sheet」のA5)へペーストする。 別のブックの指定したセルの値を別のブックの指定したセルへ貼り付けるだけなんですが、 以前関数を使って似たような事をしようとしたのですが、うまくいかなかったので、マクロならできるのでしょうか。 よろしくお願いします。(ちなみにエクセル2000又は2003です)

  • ファイルコピー後の名前の指定。(コピー ~ )以外

    こんにちは。 ウィンドウズ上での操作に関して、お聞きしたい事がありましたので投稿させて頂きました。 例えば ・「AAA.xls」というファイルがあるとします。 ・そのファイルをフォルダ上でコピー(Ctrl+C)する。 ・そのフォルダ上で貼り付け(Ctrl+V)を行う。 ・そうするとファイル名は「コピー ~ AAA.xls」となります。 上記に記載したようなファイル名を「コピー ~ 」ではなく他の名前に指定出来ないか、という質問でした。 出来れば「AAA-2.xls」のような名前に指定が出来ればいいと考えております。 何か設定の変更で解決出来るのでしょうか? 知恵をお貸しください。宜しくお願い致します。

  • 別のエクセルファイルの値をコピーをしたいです

    別のエクセルファイルの値をコピーをしたいです。 現在、仕事でファイルAにファイルBの値をコピーペーストをする作業を行っております。 しかし、量が多いのでいちいちファイルを開いてコピーして貼り付けという作業は時間がかかるのでマクロでやりたいと考えています。 そこで教えてほしいのですが、以下のような操作をマクロでするにはどうしてらよいのでしょうか? 1.ファイルAの列範囲F~J、行は9から下にファイルBの値をコピーしたい。 2.コピーするファイルBの値の範囲は、列E~I・行は1から下。 3.コピーするファイルBの行は毎日更新されるため、行の範囲は不特定です。 つまりは 昨日のファイルBの行は10まであり、マクロを実行するとファイルBのE1~I1からE10~I10の値がファイルAのF9~J9から下にコピーされる。 今日のファイルBの行は4まであり、マクロを実行するとE1~I1からE4~I4の値がファイルAのF9~J9から下にコピーされる。 という操作をマクロで実行したいと思っております。 また、ファイルBの名前も不特定のため、ファイルはダイアログで指定し、指定したファイルのE1~I1から下の値をコピーできるようにしたいです。 毎日の作業ですので、これが出来れば効率はぐっと上がります。 わかる方、どうか回答宜しくお願いいたします。

専門家に質問してみよう