Excel VBA質問箱 IV

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

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


12203 / 13644 ツリー ←次へ | 前へ→

【11710】ファイルについて 初心者 04/3/15(月) 10:28 質問
【11715】Re:ファイルについて IROC 04/3/15(月) 11:53 回答
【11717】Re:ファイルについて カド 04/3/15(月) 12:38 回答
【11722】Re:ファイルについて Jカーター 04/3/15(月) 13:19 回答
【11726】Re:ファイルについて 初心者 04/3/15(月) 13:43 質問
【11727】Re:ファイルについて IROC 04/3/15(月) 14:01 回答
【11740】Re:ファイルについて 初心者 04/3/15(月) 17:26 お礼
【11742】Re:ファイルについて IROC 04/3/15(月) 17:42 回答
【11744】Re:ファイルについて カド 04/3/15(月) 18:17 質問
【11767】Re:ファイルについて カド 04/3/16(火) 6:21 回答
【11778】Re:ファイルについて 初心者 04/3/16(火) 11:31 お礼

【11710】ファイルについて
質問  初心者  - 04/3/15(月) 10:28 -

引用なし
パスワード
   はじめまして。
まったくの初心者で申し訳ないのですが、
あるフォルダに格納されているcsvファイルをすべて開く
といったことはどうすればできるのでしょうか。
例えば、dataと言うフォルダの中に入っているファイル
すべて(数は毎回違うのですが15〜20個くらい)を
一度に開きたいのですが。

【11715】Re:ファイルについて
回答  IROC  - 04/3/15(月) 11:53 -

引用なし
パスワード
   一度にそんなに開いてどうしたいのでしょうか?

その続きがあるように思えるのですが・・

【11717】Re:ファイルについて
回答  カド E-MAIL  - 04/3/15(月) 12:38 -

引用なし
パスワード
   ▼初心者 さん こんにちは

>例えば、dataと言うフォルダの中に入っているファイル
>すべて(数は毎回違うのですが15〜20個くらい)を
>一度に開きたいのですが。

ステップ1
フォルダ内のファイル名をシートのどこかに書き出す。

ステップ2
任意のファイルを開く方法を調べる。

ステップ3
シートに書き出したファイル名を一つずつ取得して開く。

ステップ4
以上をスマートなコードに清書する

こんな感じでしょうか。
具体的に何が分からないか言って頂ければ回答できると思いますよ。
それとも質問の内容の全コードを希望してますか?

【11722】Re:ファイルについて
回答  Jカーター  - 04/3/15(月) 13:19 -

引用なし
パスワード
   こんにちは。

たくさんのファイルを一度に開くのは?です。

一個開いて処理をして閉じる
を繰り返して下さい。

ただしたいことがなんなのか不明のため確実ではないですが。

ちなみに
DIR関数を使った方法がヘルプにはあるようです。
(これは結構簡単ですよ)

【11726】Re:ファイルについて
質問  初心者  - 04/3/15(月) 13:43 -

引用なし
パスワード
   IROCさん、カドさん、Jカーター さん:

お返事をいただきありがとうございます。
また、おかしな質問で申し訳ありません。

実際にやりたいことは、開いたファイルを一つのxlsファイルにまとめて
(一つのcsvファイルを一つのシートとして)、その後マクロで集計を
することです。
最初にファイルを開く時に、毎回ファイルの数もファイル名も
違うので、フォルダの中の全ファイルを開くという形で開こうと
思ったのですが、知識が足りないため、ヘルプを見て試しても
うまくいかなくて質問させていただきました。

できれはコードを教えていただければ大変ありがたいのですが、
宜しくお願いします。

【11727】Re:ファイルについて
回答  IROC  - 04/3/15(月) 14:01 -

引用なし
パスワード
   ファイル名の取得方法です。

Sub sample()
Dim myObj As Object
Dim myFileName As String
Dim myDir As String

Set myObj = CreateObject("Shell.Application"). _
BrowseForFolder(0, "フォルダを選択してください", 0)

If myObj Is Nothing Then Exit Sub
  
  myDir = myObj.Items.Item.Path & "\"
  myFileName = Dir(myDir & "*.csv", vbHidden + vbSystem)

  Do
    Cells(Rows.Count, 1).End(xlUp).Offset(1).Value = myFileName
    myFileName = Dir()
  Loop Until myFileName = vbNullString
  
  Range("A1").Value = myDir  
End Sub

【11740】Re:ファイルについて
お礼  初心者  - 04/3/15(月) 17:26 -

引用なし
パスワード
   ▼IROC さん:

ありがとうございました。
教えていただいたコードを参考に、無事にファイルを開くことが
できました。
本当に救われました。

【11742】Re:ファイルについて
回答  IROC  - 04/3/15(月) 17:42 -

引用なし
パスワード
   あとは、取得したファイル名を使って
新規xlsブックを開く。
CSVファイルを開く。
CSVファイルのシートを、xlsブックにシートコピー。
CSVファイルを閉じる。

次のCSVファイルを開く。
CSVファイルのシートを、xlsブックにシートコピー。
CSVファイルを閉じる。

 以後、繰り返し。

これで出来ると思います。

【11744】Re:ファイルについて
質問  カド E-MAIL  - 04/3/15(月) 18:17 -

引用なし
パスワード
   こんにちは

私が実行すると以下でエラーが出るのですが、
対処方法を教えてください。

>myFileName = Dir()

実行時エラー52
ファイル名または番号が不正です。

【11767】Re:ファイルについて
回答  カド E-MAIL  - 04/3/16(火) 6:21 -

引用なし
パスワード
   こんにちは 

私が実行するとエラーになるのはcsvファイルが無いからでした。
失礼しました。

【11778】Re:ファイルについて
お礼  初心者  - 04/3/16(火) 11:31 -

引用なし
パスワード
   どうもありがとうございました。
おかげさまで無事、計算をすることまで終わりました。

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