Excel VBA質問箱 IV

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

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


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

【57562】一部同じファイル名の検索 りんこ 08/9/2(火) 21:58 質問[未読]
【57563】Re:一部同じファイル名の検索 kanabun 08/9/2(火) 22:05 発言[未読]
【57564】Re:一部同じファイル名の検索 りんこ 08/9/2(火) 22:23 発言[未読]
【57567】Re:一部同じファイル名の検索 kanabun 08/9/2(火) 22:38 発言[未読]
【57568】Re:一部同じファイル名の検索 りんこ 08/9/2(火) 23:09 発言[未読]
【57569】Re:一部同じファイル名の検索 kanabun 08/9/2(火) 23:59 発言[未読]
【57604】Re:一部同じファイル名の検索 Yuki 08/9/4(木) 11:56 発言[未読]

【57562】一部同じファイル名の検索
質問  りんこ  - 08/9/2(火) 21:58 -

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

BOOK−0807
  −0808
  −0809

BOOKの下に年月を表すフォルダがあり
それぞれの中にxlsファイルが多数あります。

あるフォルダ内のxlsは
AAA田中.xls
AAB山本.xls
111田中-y.xls
222山本-Z.xls

のように作成した人の名前が入っています。

同じフォルダ内の
同じ名前の人のファイルの中身を統合したいのですが
ファイル名をどのように検索していけばよいのか、悩んでいます。

たとえば

AAA田中.xls
A列 B列
あ  か
い  き
う  く
え  け
お  こ

111田中-y.xls
A列 B列
さ  た
し  ち
す  つ
せ  て
そ  と

結果↓

統合.xls
A列 B列 C列 D列
あ  か さ  た
い  き し  ち
う  く す  つ
え  け せ  て
お  こ そ  と

作成する人の名前は決まっていないので
"田中"など、指定することができません。

どうかご教授いただけますよう
よろしくお願いします。

【57563】Re:一部同じファイル名の検索
発言  kanabun  - 08/9/2(火) 22:05 -

引用なし
パスワード
   ▼りんこ さん:
>こんばんは。
こんばんは。

>あるフォルダ内のxlsは
>AAA田中.xls
>AAB山本.xls
>111田中-y.xls
>222山本-Z.xls

>同じ名前の人のファイルの中身を統合したいのですが

面白そうなお題ですが、

>作成する人の名前は決まっていないので
>"田中"など、指定することができません。

ここが問題ですね。氏名を取り出せるようなファイル名の付け方のルール
はないですか?
たとえば、
氏名は必ず4文字目から、とか、
英数半角のあとに全角で名前が入るとか?

【57564】Re:一部同じファイル名の検索
発言  りんこ  - 08/9/2(火) 22:23 -

引用なし
パスワード
   ▼kanabun さん:
返信ありがとうございます。


>>作成する人の名前は決まっていないので
>>"田中"など、指定することができません。
>
>ここが問題ですね。氏名を取り出せるようなファイル名の付け方のルール
>はないですか?
>たとえば、
>氏名は必ず4文字目から、とか、
>英数半角のあとに全角で名前が入るとか?

.xlsの前に入るか、
-y.xlsとか-z.xlsの前に入るか
どちらかです。

【57567】Re:一部同じファイル名の検索
発言  kanabun  - 08/9/2(火) 22:38 -

引用なし
パスワード
   > .xlsの前に入るか、
> -y.xlsとか-z.xlsの前に入るか
> どちらかです。

すみません。ちょっと良く分かりません。名前の前にある
「AAA」とか「222」についてはどうなのですか?

いずれにしても、Book名から氏名が抽出できれば、
作業用シートの A列にBook名を、 B列に 抽出した氏名を
書き出して、
--------------  ----------
 ファイル名    氏名
AAA田中.xls    田中
AAB山本.xls    山本
111田中-y.xls   田中
222山本-Z.xls   山本

B列でソートして、
--------------  ----------
 ファイル名    氏名
AAA田中.xls    田中
111田中-y.xls   田中
AAB山本.xls    山本
222山本-Z.xls   山本

氏名列を上から調べていって、同じ名前が続く間
A列のファイルを開いてデータを集積していけばいいと
思うのですが、
いかがでしょう?

【57568】Re:一部同じファイル名の検索
発言  りんこ  - 08/9/2(火) 23:09 -

引用なし
パスワード
   ▼kanabun さん:
>> .xlsの前に入るか、
>> -y.xlsとか-z.xlsの前に入るか
>> どちらかです。
>
>すみません。ちょっと良く分かりません。名前の前にある
>「AAA」とか「222」についてはどうなのですか?
>
わかりにくく申し訳ありません。
AAA、222などは個人番号なのでいろいろ変わります。

個人番号 + 名前 + .xls

個人番号 + 名前-y + .xls

個人番号 + 名前-z + .xls


>いずれにしても、Book名から氏名が抽出できれば、
>作業用シートの A列にBook名を、 B列に 抽出した氏名を
>書き出して、
>--------------  ----------
> ファイル名    氏名
>AAA田中.xls    田中
>AAB山本.xls    山本
>111田中-y.xls   田中
>222山本-Z.xls   山本
>
>B列でソートして、
>--------------  ----------
> ファイル名    氏名
>AAA田中.xls    田中
>111田中-y.xls   田中
>AAB山本.xls    山本
>222山本-Z.xls   山本
>
>氏名列を上から調べていって、同じ名前が続く間
>A列のファイルを開いてデータを集積していけばいいと
>思うのですが、
>いかがでしょう?


書き出しのファイルを作成する必要ありなんですね。

多数のフォルダとxlsファイルなので
フォルダ内に同じ名前が入ったファイルがあるかどうかの判定文が
書ければいいなと思ったのですが・・
むずかしそうですね。。

【57569】Re:一部同じファイル名の検索
発言  kanabun  - 08/9/2(火) 23:59 -

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

> 書き出しのファイルを作成する必要ありなんですね。
>
> 多数のフォルダとxlsファイルなので
> フォルダ内に同じ名前が入ったファイルがあるかどうかの判定文が
> 書ければいいなと思ったのですが・・
> むずかしそうですね。。

難しく考えれば、むつかしくなります。

> "田中"など、指定することができません。

ここを、ファイル名のリストをApplication.FileSearch などを使って
一覧しておけば、
そして、そのファイル名の4文字目以降を隣の列に(mid関数で)
書き出しておけば、ソートして 同じ名前の人のファイルが
あるか、あればいくつあるかは、場合によっては「目視でも」
判別できるでしょうから、さして難しいことではないともいえます。
要は、ファイルの名前の付け方の特徴を利用するということですから
その個人番号とやらが、長さも全角半角まちまちだったりすると、
マクロ化しにくい、ということです。

【57604】Re:一部同じファイル名の検索
発言  Yuki  - 08/9/4(木) 11:56 -

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

あまり難しく考えずに
こんな風でどうでしょう。

Sub TEST()
  Dim strDir As String
  Dim strFnm As String
  
  strDir = "D:\あるホルダ名\"
  strFnm = "*田中*.xls"
  strFnm = Dir(strDir & strFnm)
  
  Do While strFnm <> ""
    '*** あった時の処理 ***
    Debug.Print strDir & strFnm
    '******   ******
    strFnm = Dir()
  Loop
End Sub

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