Excel VBA質問箱 IV

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

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


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

【26275】フォルダ内にあるファイルの数をカウント... ペンギン 05/6/30(木) 11:37 質問[未読]
【26281】Re:フォルダ内にあるファイルの数をカウ... 小僧 05/6/30(木) 13:36 発言[未読]
【26515】Re:フォルダ内にあるファイルの数をカウ... 青龍 05/7/7(木) 14:25 回答[未読]

【26275】フォルダ内にあるファイルの数をカウント...
質問  ペンギン  - 05/6/30(木) 11:37 -

引用なし
パスワード
   各ファイルに、同じ検査データがあります。
ファイルは各月ごとになっています。
この各月ごとのデータを集計し、一つの表を作成したいのです。
データを集計し、表を作成するマクロは出来たのですが、
これをどのようにループして、横展開していけばいいのでしょうか?

表は、
No.    大項目    TOTAL    2005/03 2005/04
    BUS     0    0
というフォーマットで作ります。

私が考えのは、

Yは行番号を示しています。
nはフォルダ内のファイルの数。

For Y=0 To n Step 1

  ・・・

  myDate = Left(Range("A2"), 7)
  A = WorksheetFunction.CountIf(Columns(16), "=*BUS*")
  ・・・

ThisWorkbook.Activate

  Cells(2, 5 + Y) = myDate
  Cells(3, 5 + Y) = A
  ・・・

Next Y

でも、nにいれるフォルダ内のファイルの数をどうやって取得したら
いいのかわからなくて、つまづきました。
どなたか、ご教授ください。
よろしくお願いいたします。

【26281】Re:フォルダ内にあるファイルの数をカウ...
発言  小僧  - 05/6/30(木) 13:36 -

引用なし
パスワード
   ▼ペンギン さん:
こんにちは。

ペンギン さんのやりたい事の意図が当方には読み取れませんでしたので、
フォルダ内の Excel をイミディエトウィンドウに表示するコードを
提示させて頂きます。

Sub フォルダ内エクセルファイル探索()
Dim FSO As Object
Dim CFol As Object
Dim F As Object

  Set FSO = CreateObject("Scripting.FileSystemObject")
  Set CFol = FSO.GetFolder(ThisWorkbook.Path)
    For Each F In CFol.Files
      If FSO.GetExtensionName _
       (ThisWorkbook.Path & "\" & F.Name) = "xls" Then
        Debug.Print F.Name
      End If
    Next
  Set CFol = Nothing
  Set FSO = Nothing
End Sub

ご参考になれば幸いです。

【26515】Re:フォルダ内にあるファイルの数をカウ...
回答  青龍  - 05/7/7(木) 14:25 -

引用なし
パスワード
   探すフォルダが「C:\data」で拡張子が「*.dat」だとします。

FileNames = Dir("C:\data\*.dat")
n = 0
Do Until FileNames = ""
  FileNames = Dir
  n = n + 1
Loop

これでC:\data内の*.datの数が数えられると思います。
もっとスマートな方法があるのかもしれませんが、私はこうしてます・・・。

こういう意味でよかったんでしょうか?

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