2つ目に開いている別のエクセルのファイルからセルの値を取得
エクセルを使っていると別のエクセルファイルのデータを取得して、今使っているエクセルファイルに書き込みたいことありませんか?
Aというファイル名のエクセルのセルA1の値は、Bというファイル名のエクセルA1の値から取得して記載するなんて事。
この場合は、ファイル名+シート名+セル番地とVBAコードを書けば可能です。
(書き込みたいセル番地).Value = Workbooks(ファイル名).Sheets(シート名).(セル番地).Value
と、シンプルに順番にファイル名から書き込むだけです。
ただし、この方法はファイル名・シート名を直接VBAコードに書き込むので、保存場所が変わってしまったり、ファイル名やシート名が変更されてしまうとエラーになります。
そこで、ひと工夫してファイル名やシート名が分からなくても指示できるようにしましょう。
目次
インデックス番号を使って解決
インデックス番号とは、エクセルファイルでもシートでも何番目に開いたエクセルファイル(Book)やシート(Sheet)で言うと左から何番目のシートなのかを番号で表します。
その為、ファイル名やシート名が分からなくても指定することができるのでとても便利な方法です。
そこで、2つ目に開いたエクセルファイルを参照するならば、Workbooks(2)となり、3つ目のシートであれば、Sheets(3)となります。
このインデックス番号を使う事により、他のファイルからデータを取り込むときにファイル名やシート名を気にしなくて済むので、ダウンロードしたCSVファイルを開いてデート取込などに活用できるようになります。
その場合は、ファイルを選択ダイアログ表示してエクセルファイル開いて、必要データを取り込んでファイルを閉じるVBAコードを付け足せば完成します。
ダウンロードしたCSVや別のエクセルファイルを開くVBAコード
データ処理をする時に他のエクセルファイルにあるデータを取り込みたいことありませんか? ファイル名が固定されてたり、保存場所が決まっている場合などは直接保存先の...