|
初めて投稿させていただきます。
こんな方法ができるのかどうかというのを知りたくてGoogle検索をかけて
いましたら、教えていただけそうな掲示板を見つけてアドバイスを頂けな
いかと思い投稿させていただきました。
現在マクロでVBAを触っております。
ファイルA.txtを読み込んで加工などをしたものbookA.xlsに書き出したい
のです。
ファイルA.txtを読み込んだ結果は以下の通りです。
| A | B | C | D | E | F |
1| 種類 | 名 | 在庫 | | | |
2| 果物 |リンゴ| 1 | | | |
3| 果物 |メロン| 4 | | | |
4| 果物 | モモ | 3 | | | |
5| 野菜 |トマト| 2 | | | |
6| 野菜 | 白菜 | 1 | | | |
7| 野菜 |玉ねぎ| 3 | | | |
8| 果物 |バナナ| 2 | | | |
9| 野菜 | 大根 | 3 | | | |
10| 野菜 | ナス | 1 | | | |
このファイルA.txtを読み込むためのマクロはすでに完成しています。
そこで、なんらかのマクロを利用してbookA.xlsに以下のように書き出せ
ないでしょうか??果物シートには果物を、野菜シートには野菜を!!
すでに果物シート、野菜シートには名前の欄にはリンゴやバナナ、ナス、
大根と記入されている状態です。在庫の欄に数値をコピペできたらいいわけ
なんですけど・・・
| A | B | C | D | E | F |
1| 名 | 在庫 | | | | |
2|リンゴ| 1 | | | | |
3|メロン| 4 | | | | |
4| モモ | 3 | | | | |
5|バナナ| 2 | | | | |
6| | | | | | |
7| | | | | | |
8| | | | | | |
9| | | | | | |
10| | | | | | |
______________________________________
\果物/\野菜/
| A | B | C | D | E | F |
1| 種類 | 名 | 在庫 | | | |
2| 野菜 |トマト| 2 | | | |
3| 野菜 | 白菜 | 1 | | | |
4| 野菜 |玉ねぎ| 3 | | | |
5| 野菜 | 大根 | 3 | | | |
6| 野菜 | ナス | 1 | | | |
7| | | | | | |
8| | | | | | |
9| | | | | | |
10| | | | | | |
_______ _______________________________
\果物/\野菜/
利用するユーザーが違うことからパソコン端末もことなっていることから、
bookAのディレクトリを取得して動作するようになればと思います。
一応、以下のマクロは作ってあります。
ファイルA.txtの読み込みマクロ
Public buf1 As String
ChDir "C:\"
buf1 = Application.GetOpenFilename("*.txt,*.txt")
If buf1 = "False" Then Exit Sub
Workbooks.OpenText Filename:=buf1, _
Origin:=xlWindows, _
StartRow:=1, _
DataType:=xlDelimited, _
TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, _
Tab:=False, _
Semicolon:=False, _
Comma:=True, _
Space:=False, _
Other:=False, _
FieldInfo:=Array(Array(1, 1), Array(2, 1), _
Array(3, 1), Array(4, 1), _
Array(5, 1), Array(6, 1), _
Array(7, 1), Array(8, 1)), _
TrailingMinusNumbers:=True
bookAを読み込むためのマクロ
Public buf2 As String
Sub bookAの指定()
ChDir "C:\"
buf2 = Application.GetOpenFilename("*.xls,*.xls")
If buf2 = "False" Then Exit Sub
End Sub
ファイルA.txtのA列とB列の値を読み込んでbookA.xlsのシート名とA列
を比較して、bookA.xlsの一致する箇所のB列にファイルA.txtのC列の値
をコピペできたらいいんだろうと思いますが・・・
以上、長文でわかりにくくて大変申し訳ありませんが何かアドバイスを頂けたらと思います。
|
|