[[20130718114809]] 『選択したファイルから集計したい』(ぐりむ) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『選択したファイルから集計したい』(ぐりむ)

 お久しぶりです。以前は大変お世話になり、とても助かりました!
 新規のマクロについてご相談したく、投稿させて頂きます。

 今回はファイル名(日付入り・例として、CAD20130705)を選んで(複数可)、
 実行ボタンを押すとその選択したファイルデータから、
 ファイル名の日付よりも前の日付が書かれている行数をカウントしたいです。

 CAD20130705のファイルの中身↓
 A 〜D      E       F     G 
 1     ログイン日時
      07/03/2013
      07/03/2013
      07/03/2013
      07/03/2013
      07/04/2013
      07/04/2013
      07/04/2013
      07/04/2013
      07/04/2013
      07/05/2013
      07/05/2013
             以下続く
 となっており、E列に日付が入力されています。(他列にはデータ入力あり)

 理想では、別ファイルにて。↓

    A   B   C   D   E  
 1  集計したいファイル名を入力してください。 
 2    CAD20130705 [ボタン]
 3   
 4   日付 トータル数
 5   7/5       9

 のように、
 ファイル名を入力し、ボタンを押せば
 日付はそのファイル名の日付で、
 トータル数はファイル名の日付よりも前の日付の行数トータルで。
 と、集計したいです。

 同じことを二度書いてしまいましたが、
 うまく伝えられず申し訳ないです。。
 そして、ファイル名の入力は、複数選択可で。

 どこのフォルダに入ってるファイルかは、
 例で「Leostream」のフォルダにCAD20130705(以下複数あり)が入っているとします。

 どうしたらこのような集計ができるでしょうか?
 申し訳ございませんが、ご指導よろしくお願いします。

 Excel2003 XP(実際完成後取り扱うのは2010)

 CADxxxx というファイルは、何のファイルですか?
 EXCEL? それとも CSV ?

 Leostream というのは マクロを書く EXCEL があるフォルダの直下ですか?
 そうでない場合は、絶対パスの方がよさそうです。
 (Mook)

 CSVファイルです。

 CADxxxxのファイルがあるフォルダです。
 \Leostream\CADxxxxという感じの。。

 (ぐりむ)

 Sub ファイルの選択()

 Dim FDlg As FileDialog
 Set FDlg = Application.FileDialog(msoFileDialogFilePicker)

 With FDlg.Filters
    .Clear
    .Add "CSVファイル", "*.csv"
 End With

 Dim i As Integer
 Dim StrFname As String

 FDlg.Show
 For i = 1 To FDlg.SelectedItems.Count
    StrFname = StrFname & FDlg.SelectedItems.Item(i) & vbCrLf
 Next i
 If FDlg.SelectedItems.Count Then MsgBox "選択したファイル" & vbCrLf & StrFname

 Set FDlg = Nothing

 End Sub

 こんなのを作ってみました。
 ファイルを開くのと同じ感じにファイルを選択するマクロです。
 (上手く出来てるかは不安)

 これに、選んだファイルから、ファイル名の日付より前の日付がある行数を調べる。
 (複数選んでいたら各ファイルその作業をする)
 で結果が出力されるファイルには、
 日付はファイル名の日付と、トータル数。
 (複数選んでいたら行数を増やす)
 という機能?をつけたいです。

 調べながらやっていますが、
 やっぱり自分だけの力じゃ限界があります。。。

 (ぐりむ)

コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.