- 締切済み
ある条件の文字列検索とコピー(VBA)
初心者なのでカテゴリ違いならすみません。 下記の処理をエクセルVBAで考えています。いろいろ調べて みたのですが、やり方教えてください。VBA初挑戦にしては 難易度が高いかもしれないです。 ・処理 下記のような条件で文字列を検索して、コピーして別ファイルに 編集して書き出す処理をする ・検索条件 「?」で始まり、「=」で終わる文字列 もしくは 「&」で始まり、「=」で終わる文字列 これを検索してコピーする 例えば、「?SAZANN=123456」という文字列を検索 して「SAZANN」という文字列だけコピーして他の ファイルに文字列を書き出したいんです。 自分のイメージでは、「?SAZANN=」だけ一旦コピー して他のファイルにそれを書き出して、編集段階で 「?」「=」を一括置換で削除するイメージでいます。 ご指導宜しくお願い致します。
- みんなの回答 (3)
- 専門家の回答
みんなの回答
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 たぶん、Office のカテゴリ側でよいかもしれませんね。というのは、前の方たちの回答をみると、ご質問のそれぞれの言葉に反応されているようです。しかし、私が、その問題に対する解釈と展開は、どうもお二方と違うようですから、申し訳ない言い方ですが、私は、あえて、現時点では、回答自体は書けません。 それは、「?SAZANN=123456」の文字がどこに、どのようにしてあるか、ということが書かれていません。私は、丸投げ自体は否定しないけれども、後になって、その内容は違っています、というのは好きではありません。無駄な労力になってしまうからです。 たぶん、私は、Worksheet 上のセルなのかなとは思いますが、そうした点から、話を進めていかないといけません。まず、Excel上で、手動でシュミレートできるかどうか、そこから始まります。おそらく、AdvancedFilter やFindメソッドを使うような気もします。それと、イメージで、どうこうというのは、VBAが自由に書ける人の話だと思うのです。
合理的な回答が出ていますが、その他の方法として ファイルを開いて(Open #,fso) 一行ずつ読み(Do Loop, lineinput, eof...) 条件文字の位置を探し(instr) 保存対象文字を抜き出し(mid) 保存する(append,...) という方法もあります。 カッコ内にキーワードになりそうなものを書いておきました。 以下参考になりそうなもの ファイルの読み書き (古典的手法) http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110.html http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_040.html (FSOを使用する方法) http://www.geocities.co.jp/SiliconValley/1716/FileSystemObject.html http://homepage2.nifty.com/sak/w_sak3/doc/sysbrd/as_k03.htm 文字列操作 http://ginyusijin.hmc6.net/page020.html http://www.eurus.dti.ne.jp/~yoneyama/Excel/kansu/moji_1.htm その他参考 http://www.moug.net/tech/acvba/0090005.htm http://www.atmarkit.co.jp/fwin2k/operation/wsh10/wsh10_01.html
お礼
時間が空いてしまい、申し訳ありません。 いろいろ教えて頂きありがとうございます。 教えて頂いたリンクは参考にさせて頂いてます。
- NOBNNN
- ベストアンサー率50% (93/186)
丸投げはお答えできません。 ご自分で調べてください。 具体的にどのようにどこがわからないのかなど・・・ 以下HPを参考にしてください。 ご質問については以下のHPの方法で作成方法で実験してみました。 結果は私なりに成功しております。___________________________________________________ ◆ADO を使用して Excel ワークシートにクエリを実行する http://labs.microsoft.com/japan/technet/scriptcenter/resources/officetips/jun05/tips0607.mspx __________________________________________________
お礼
時間が空いてしまい、申し訳ありません。 丸投げしたつもりはありません。初心者なりに考えた 上で質問したつもりでした。 ありがとうございました。
お礼
時間が空いてしまい、申し訳ありません。 やはりカテゴリー違いでしたかね。 丸投げしている意識はなかったのですが、質問の しかたがなってなかったんでしょうね。という事 は自分の中でも整理できてなかったんでしょうね。 ありがとうございました。