- ベストアンサー
タブ区切りのテキストファイルの項目を並び変えたいのです。
タブ区切りのテキストファイルの項目を並び変えたいのです。 例えば、 A りんご 犬 赤 B みかん ねこ 黄 C パイナップル ねずみ 緑 という風にタブ区切りで並んでいるテキストファイルを 赤 りんご 犬 A 黄 みかん ねこ B 緑 パイナップル ねずみ C などという風に項目を並び変えたいのです。 EXCELに一度取り込んでVBAでコーディングすればよいのでしょうか? 具体的にどのように記述すればよいかお願いいたします。 また、インストールなどはせずに単体で動かしたいのですが、VBAではなく他の方法もあれば教えてください。
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
#1です。VBAかどうかはともかく、プログラムを組むのが一番早いのですが、プログラム(言語)を習得するのに数ヶ月かかったりして(^^; エクセルでの作業をマクロ記録し、VBAを多少いじるという方法もありそうですが、プログラムなしの方法として 1.エクセルに読み込む 2.データ全てを選択・コピー 3.新しいシートに「型式を選択して貼り付け」の「行列を入れ替える」で貼り付け 4.先頭列に一列挿入 5.先頭にできた空白列に並べ替えたい順番を記入。提示された礼ならば4,2,3,1 6.データ全体を選択し、メニューバーの「データ」、「並べ替え」で、最優先されるキーをA列にする 7.A列を削除後、前記2.3.の逆を行う こんな手順で駄目でしょうか。5.の「並べ替えたい順番」は、再利用できそうです。全手順をマクロ記録して、再利用も可能でしょう。
その他の回答 (4)
#1、#3、#4です。たまたまある言語のメーリングリストで、まさにお問い合わせのような内容に関し面白いやりとりが展開中です。参考になれば幸いですし、少なくとも雰囲気ぐらいは感じられるのでは? http://www.freeml.com/delphi-users/1175/latest
#1、#3です >タブ区切りごと、1行ごと、読み込んで、配列にはめていく方法も教えていただけないでしょうか? そのようなご要望であれば、プログラミング言語の指定がないと。そして指定されても回答できないケースがほとんどと思います。ちなみにVBAは嫌いなので、できるだけさわらないで済ませようとしています。
お礼
ありがとうございました。 マクロで出来ることなので、マクロでやってみることにします。
- nekomikekamo
- ベストアンサー率73% (71/97)
正規表現による置換が行えるエディタを利用することで解決できます。 タブ区切りとのことですので、 ^([^\s]+)(.+)([^\s]+)$ を $3$2$1 に置換すればOKです。 試したのは、サクラエディタです。
エクセルならばVBAを使用しなくても、列を移動することができます。 たとえば 1.空白列を一列目に挿入 2.「赤、黄、緑」列を空白列に移動 以下略
お礼
ありがとうございましす。 説明不足でした。 補足を見ていただき、よろしければ、またお願いいたします。
補足
説明不足で申し訳ありません。 例では4項目にしましたが、実際は100項目程を並べ替えなければならず、また並び替えなければならないファイルもたくさんあるため、自動で出来るようにプログラミングしたいのです。 配列?に入れれば、とも言われたのですが、配列がよくわかりません。
補足
ありがとうございます。 丁寧に解答していただいて、感謝しています。 実は、いったんエクセルに読み込み、列を並び替え、再び、テキストに書き出す、というのは試してみました。 (マクロ+VBAを少しいじって) しかし、プログラムとしては、なんか物足りなくて…。 できればタブ区切りごと、1行ごと、読み込んで、配列にはめていく方法も教えていただけないでしょうか?