|
昨日質問させていただいたヒロです。
折角ご教授頂いたのですが、どうもうまくいきません。
マクロ自体もうまく解読出来ませんでした。申し訳ありません。
私の質問の仕方が悪かったんだと思いますので、再度教えてください。
質問の内容は昨日と同じです。
例を挙げて状況を説明させて頂きます。
例えば…
千葉市、横浜市、仙台市…というフォルダがあるとします。
そのそれぞれのフォルダの中にA200404_200404.csv、A200405_200405.csv…
B200404_200404.csv、B200405_200405.csv…という頭がA、B2種類の月別のファイルが入っています。
そのファイルを集計したいのですが、ファイルの中身が、
頭がAのファイル
A B C D E F G
1 人口男 人口女 世帯数
2 200404 50000 51000 62000
3
4
となっているとします。(Bのファイルも項目が違うだけで同じような内容です。)
そして集計シートが
A B C D E F G
4月 5月 6月 …
1 人数 前月比 人数 前月比 人数 前月比
2 人口男 50000
2 人口女 51000
3 世帯数 62000
4
となるようにしたいのです。
集計するシートはA、Bそれぞれ1枚ずつで、フォルダ名=都市名とし、都市名を選択するとそれぞれの都市の月別の集計結果が見られるようにしたいのですが…。
本当に素人で申し訳ありません。
昨日ご回答頂いた内容も上記のことができるようになっていたのかもしれませんが、うまく組めませんでした。
よろしくお願い致します。
長くなって申し訳ありません。
ヒロ
▼ヒロ さん:
>大変参考になりました。
>初心者なものですから、記述でわからないところも多々ありますが、自力で解析してみます。
>貴重なご回答をありがとうございました。
>
>
>▼かみちゃん さん:
>>こんにちは。かみちゃん です。
>>
>>>・ コンボボックスで条件を選択して、その条件にあったフォルダからフォルダ内 にあるCSVファイルのデータを集計する。
>>
>>以下のコードは、フォーム表示時に、フォルダ一覧ょコンボボックスに取得します。
>>次にコンボボックスから値を選択し、コマンドボタンをクリックすることにより、
>>コンボボックスで選択したフォルダ内にあるCSVファイルのファイル名を表示します。
>>ただし、サブフォルダには対応していません。
>>
>>Option Explicit
>>
>>Private strStartPathName As String
>>
>>Private Sub UserForm_Initialize()
>> Dim strPathName As String
>>
>> 'コンボボックスに表示したいフォルダの親フォルダを指定します。
>> '(例)マクロのあるブックのパスの場合
>> strStartPathName = ThisWorkbook.Path & "\"
>> '最初のフォルダ名を取得
>> strPathName = Dir(strStartPathName, vbDirectory)
>>
>> Do While strPathName <> "" ' ループを開始します。
>> ' 現在のフォルダと親フォルダは無視します。
>> If strPathName <> "." And strPathName <> ".." Then
>> ' ビット単位の比較を行い、strPathName がフォルダかどうかを調べます。
>> If (GetAttr(strStartPathName & strPathName) And vbDirectory) = vbDirectory Then
>> Me.ComboBox1.AddItem strPathName ' フォルダであれば、それを表示します。
>> End If
>> End If
>> strPathName = Dir ' 次のフォルダ名を返します。
>> Loop
>>End Sub
>>
>>Private Sub CommandButton1_Click()
>> Dim strFileName As String
>>
>> strFileName = Dir(strStartPathName & Me.ComboBox1.Value & "\*.csv")
>> Do While strFileName <> "" ' ループを開始します。
>> 'CSVファイル名を表示します。
>> MsgBox strStartPathName & Me.ComboBox1.Value & "\" & strFileName
>> strFileName = Dir ' 次のフォルダ名を返します。
>> Loop
>>End Sub
|
|