2017-05-11 13 views
1

複数のCSVファイルを(同じフォルダから)開き、同じブック内の個別のシートとして使用する方法はありますか?現在複数のCSVを開いている場合(複数の選択がCTRLキーで押された場合)、各CSVは別のワークブックとして開きますが、ワークシートとしてCSVごとに1つのワークブックが必要です。Excel - 複数のCSVファイルを1つのシートとして開く方法

アップデート: -明らかにこれは、ブックにシートとして各CSVを追加することにより、手動で行うことができます - これは私が多くのCSVを渡って何度も繰り返す必要があるタスクであるため、より良い自動アプローチを探しています。例:のファイルcsv1.csvcsv2.csvcsv3.csvなどがあるフォルダBook1ワークシートとして各CSVが必要です。

答えて

0

CSVをimportとすると、ファイルごとに新しいシートにデータを追加できます。

+1

これは明らかに可能です。これを行うための一種の自動方法が必要です。 – user3206440

0

既に開いているブックに1つ以上のCSVファイルを読み込むマクロです(「マクロの記録」オプションとリバースエンジニアリングのおかげで)。

Sub LoadWorksheet() 
' 
' LoadWorksheet Macro 
' 

' 
    Workbooks.Open Filename:="path-to-file-you-want-to-load" 
    Application.WindowState = xlNormal 
    Sheets("Sheet1").Select 
    Sheets("Sheet1").Move After:=Workbooks("currently-open-file").Sheets(1) 
End Sub 

path-to-file-you-want-to-loadを交換するファイル名は、ワークシートとして開きたい最初のファイルです。 currently-open-fileは、他のファイルをロードする空のExcelファイルです。 Sheet1を、移動するファイル内のワークシートの名前に置き換えます。あなたは上を移動することがあります、同じファイル内に複数のワークシートがある場合

は、.Select.Moveラインを繰り返しており、このラインで各ペアの前に:

Windows("file-you-want-to-load").Activate 

が開き、複数のファイルをコピーするにはマクロの先頭部分を繰り返して、他のファイル名を入力してください。

注意点:このマクロは、シートをコピーするのではなく、あるファイルから別のファイルに移動します。したがって、ファイル内に複数のシートがあり、それらの一部を移動するだけの場合、そのブックは開いたままになり、閉じようとすると、移動したワークシートを削除して保存するかどうかを確認するメッセージが表示されます。ただし、すべてのワークシートをそのブックから移動すると、Excelは変更を保存せずに、または変更を保存するよう要求することなくそのブックを閉じます。

関連する問題