• ベストアンサー

エクセルマクロでテキストファイルのデータを検索し追加変更したい

WindowsXP・EXCEL2002SP3を使用し表を作成しました。     A   B  C  1 商品名 数量 単価  2 ミカン  200  \50  3 リンゴ  500  \80 数量と単価を変更すると手動でマクロを実行すると、テキストファイル(カンマ区切りで「商品名,数量,単価」)のデータを読み エクセルと同じ商品名のデータがあればテキストファイルの数量と単価を書き換え、無ければ追加したいと考えています。 Freefileでテキストファイルにデータを書き込むのはできたのですが、どうしても思うような処理を作成できず悩んでいます。 良い方法をご存じの方がいらっしゃいましたら、どうかお教えください。

質問者が選んだベストアンサー

  • ベストアンサー
  • Wendy02
  • ベストアンサー率57% (3570/6232)
回答No.2

こんばんは。 それは、一種、手順の問題だと思います。 >Freefileでテキストファイルにデータを書き込むのはできた もし、そういう手順に自信があれば、その方向で進めていくのがよいかとは思います。 その方法で、自信がないのでしたら、#1さんのおっしゃるように、ワークシートで処理することを考えたほうがよいのではないかと思います。COUNTIF関数やMATCH関数のワークシート関数で処理するわけです。 ただ、前者のほうが、データが見えていない分だけ、コードのレベルは高くなると思います。ただ、VBAに掛かる負担やスピードは格段に楽です。 >テキストファイル(カンマ区切りで「商品名,数量,単価」)のデータを読み 当然、配列変数を使うことになるのではないでしょうか?その辺りの設計がどうなっているのか、そこら辺りで、話の展開も違ってくるのではないでしょうか? なお、私個人は、前者を選びます。

MekaOsaru3
質問者

お礼

回答ありがとうございました。 Freefileを使い、テキストファイルを読み込みシートに表示するとか、反対にシートのデータをカンマ区切りでテキストファイルに書き込むといった処理なら 作成できたのですが、質問のようなテキストファイルを検索し書き込むというパターンは初めてで、どう組んでいったら良いのか悩み投稿した次第です。 回答によってそれぞれの手順の違いや物の考え方がよくわかりました。 早速、勉強もかねて配列変数を使用したコードも作成してみようと思います。

その他の回答 (1)

  • ASIMOV
  • ベストアンサー率41% (982/2351)
回答No.1

その、テキストファイルをシートに読み込み 数量と単価の変更及び追加を行った後、csv形式で書き込むのとは何が違うのでしょうか?

MekaOsaru3
質問者

お礼

回答ありがとうございます。 自分としてはテキストファイルをACCESSのリンクテーブルのような感じで 使うつもりでいたのですが、なんだか難しく考えすぎてしまったようです。 おっしゃるとおりの方法ならマクロで作れそうですので、早速試してみたいと思います。

関連するQ&A