Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


11298 / 13646 ツリー ←次へ | 前へ→

【16874】複数のファイルをひとつのファイルにまとめる 初心者 04/8/14(土) 0:06 質問[未読]
【16875】Re:複数のファイルをひとつのファイルにま... IROC 04/8/14(土) 1:18 回答[未読]
【16876】Re:複数のファイルをひとつのファイルにま... 初心者 04/8/14(土) 1:49 質問[未読]
【16881】Re:複数のファイルをひとつのファイルにま... IROC 04/8/14(土) 13:20 回答[未読]
【16890】Re:複数のファイルをひとつのファイルにま... 初心者 04/8/14(土) 18:18 質問[未読]
【16892】Re:複数のファイルをひとつのファイルにま... IROC 04/8/14(土) 20:58 回答[未読]
【16894】Re:複数のファイルをひとつのファイルにま... 初心者 04/8/14(土) 21:54 質問[未読]
【16895】Re:複数のファイルをひとつのファイルにま... 初心者 04/8/14(土) 22:00 お礼[未読]
【16896】Re:複数のファイルをひとつのファイルにま... IROC 04/8/14(土) 23:25 回答[未読]
【16898】Re:複数のファイルをひとつのファイルにま... 初心者 04/8/15(日) 1:01 お礼[未読]

【16874】複数のファイルをひとつのファイルにまと...
質問  初心者 E-MAIL  - 04/8/14(土) 0:06 -

引用なし
パスワード
   よろしくお願いします。
ひとつのフォルダにある複数のEXCELファイルを開き(数は不特定)、sheet(1)(シート名も不特定)をMydataと言うファイルにまとめるマクロを作りたいのですが可能でしょうか?試行錯誤しているのでが、どうしても分かりません。フォルダを指定してすべてのファイルを開くところまでは出来ましたが。。
どうぞよろしくお願いします。

【16875】Re:複数のファイルをひとつのファイルに...
回答  IROC  - 04/8/14(土) 1:18 -

引用なし
パスワード
   どこが分からないのでしょうか?

どのようにまとめるのか分かりませんが、
ファイルが開けたなら、
コピー→ファイルを閉じる(←マクロの記録で出来ると思います。)
をループ文(Dir関数でファイルを取得)で繰り返せばよいだけだと思います。

【16876】Re:複数のファイルをひとつのファイルに...
質問  初心者 E-MAIL  - 04/8/14(土) 1:49 -

引用なし
パスワード
   Sub TEST()
  Dim ファイル名 As String, i As Long
  ファイル名 = Dir("C:\Documents and Settings\Owner\デスクトップ
                             \MyData\*.*")
  Do While ファイル名 <> ""
    i = i + 1
    Worksheets("Sheet1").Cells(i, 1) = ファイル名
    ファイル名 = Dir()
  Loop
End Sub

たとえば上のようにシートに取得したファイル名を書き出すまで処理を書きました。それをどのようにLoopすれば良いのでしょうか?
よろしくお願いします。

▼IROC さん:
>どこが分からないのでしょうか?
>
>どのようにまとめるのか分かりませんが、
>ファイルが開けたなら、
>コピー→ファイルを閉じる(←マクロの記録で出来ると思います。)
>をループ文(Dir関数でファイルを取得)で繰り返せばよいだけだと思います。

【16881】Re:複数のファイルをひとつのファイルに...
回答  IROC  - 04/8/14(土) 13:20 -

引用なし
パスワード
   >それをどのようにLoopすれば良いのでしょうか?
Do〜Loop 文で順次ファイル名を取得できるので、
それに併せて、ブックを開いて処理します。

まとめたいブックの Mydataは、このマクロのブックですよね?
ならthisworkbook で指定できます。

以下のような感じで出来ると思います。
画面のちらつきは、screenupdatingで停止できます。

Sub TEST()
Dim myPath As String
Dim ファイル名 As String, i As Long
dim myWb as workbook,Wb as workbook

  myPath = "C:\Documents and Settings\Owner\デスクトップ\MyData\"
  ファイル名 = Dir(myPath & "*.xls")


  Do While ファイル名 <> ""
    i = i + 1
    Worksheets("Sheet1").Cells(i, 1) = ファイル名

    set wb = Workbooks.open myPath & ファイル名
    
    wb.worksheets(1).copy _
    Before:=Thisworkbook.Sheets(1) 

    wb.close false

    ファイル名 = Dir()
  Loop
End Sub

【16890】Re:複数のファイルをひとつのファイルに...
質問  初心者 E-MAIL  - 04/8/14(土) 18:18 -

引用なし
パスワード
   IROC さん 親切なご指導ありがうございます。
早速実行してみたのですが、
set wb = Workbooks.open myPath & ファイル名
で構文エラーでとまってしまいます。
MyPathはフォルダ名でよいのですよね?
C:\Documents and Settings\Owner\デスクトップ\MyData\myData
で指定の仕方が違っていますか?
初心者で申し訳ありません。
もう一度ご指導よろしくお願いします。


▼IROC さん:
>>それをどのようにLoopすれば良いのでしょうか?
>Do〜Loop 文で順次ファイル名を取得できるので、
>それに併せて、ブックを開いて処理します。
>
>まとめたいブックの Mydataは、このマクロのブックですよね?
>ならthisworkbook で指定できます。
>
>以下のような感じで出来ると思います。
>画面のちらつきは、screenupdatingで停止できます。
>
>Sub TEST()
>Dim myPath As String
>Dim ファイル名 As String, i As Long
>dim myWb as workbook,Wb as workbook
>
>  myPath = "C:\Documents and Settings\Owner\デスクトップ\MyData\"
>  ファイル名 = Dir(myPath & "*.xls")
>
>
>  Do While ファイル名 <> ""
>    i = i + 1
>    Worksheets("Sheet1").Cells(i, 1) = ファイル名
>
>    set wb = Workbooks.open myPath & ファイル名
>    
>    wb.worksheets(1).copy _
>    Before:=Thisworkbook.Sheets(1) 
>
>    wb.close false
>
>    ファイル名 = Dir()
>  Loop
>End Sub

【16892】Re:複数のファイルをひとつのファイルに...
回答  IROC  - 04/8/14(土) 20:58 -

引用なし
パスワード
   \ が足りないです。

【16894】Re:複数のファイルをひとつのファイルに...
質問  初心者 E-MAIL  - 04/8/14(土) 21:54 -

引用なし
パスワード
   IROC さん
¥抜けていました。申し訳ありません。
¥を入れてもやはり構文エラーになります。
HELPで検索してもどうしても分かりません。


▼IROC さん:
>\ が足りないです。

【16895】Re:複数のファイルをひとつのファイルに...
お礼  初心者 E-MAIL  - 04/8/14(土) 22:00 -

引用なし
パスワード
   IROCさん
Set Wb = Workbooks.Open(myPath & ファイル名)
の()が抜けていることが分かりました。
ちゃんと動作しました。
どうもありがとうございました〜。感激です!

▼初心者 さん:
>IROC さん
>¥抜けていました。申し訳ありません。
>¥を入れてもやはり構文エラーになります。
>HELPで検索してもどうしても分かりません。
>
>
>▼IROC さん:
>>\ が足りないです。

【16896】Re:複数のファイルをひとつのファイルに...
回答  IROC  - 04/8/14(土) 23:25 -

引用なし
パスワード
   直接コードを書き込んだので、
試していなくて気づきませんでした。
ごめんなさい。

【16898】Re:複数のファイルをひとつのファイルに...
お礼  初心者 E-MAIL  - 04/8/15(日) 1:01 -

引用なし
パスワード
   とんでもありません。とても勉強になりました。
ありがうございました。

▼IROC さん:
>直接コードを書き込んだので、
>試していなくて気づきませんでした。
>ごめんなさい。

11298 / 13646 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free