Excel (VBA)

Excel VBAに関するフォーラムです。
  • 解決済みのトピックにはコメントできません。
このトピックは解決済みです。
質問

 
フィルタ結果から、指定列のみ行末にカンマをつけてCSVファイルを作成したい
投稿日時: 21/12/20 23:27:57
投稿者: mugiro7

下記エクセルシートから、フィルタでT2=100を指定した結果を、T2とT3をカンマ区切りにし、T3の後ろにカンマをつけて1行目のT2、T3は省略し、結果2行を""をつけずにCSVファイルを作成したい。
 
T1    T2    T3    T4
1    100    111    3
2    200    222    2
3    100    333    3
 
test1.csv
100,111,
100,333,
 

回答
投稿日時: 21/12/21 08:43:46
投稿者: Suzu

考え方として。
 
 1.フィルター機能を使い、対象データを抽出
 2.抽出後のデータを別シートにコピー
 3.T1列、T4列を削除
 4.3列目の各行に、『 '(シングルクォーテーション』を記入
 5.CSVとして保存

投稿日時: 21/12/21 09:19:39
投稿者: mugiro7

ありがとうございます。
別のパターンで教えてほしいのですが、
T5の列に下記があり、これをCSVにすると””でくくられてしまうが、””を消してCSVにしたい。
100,111,
100,333,
 

回答
投稿日時: 21/12/21 09:24:11
投稿者: simple

私もマクロ記録の活用がよいと思いました。
 
ちなみに、最後に","をつける意図は何でしょうか。
Excelに読み込む前提であれば、なくても問題はないですが。
手作業でEditorか何かで追加でもするのですか?
 
T5の列にカンマを含む文字列があるなら、
そのカンマをセパレータとしてでなく
単なる文字列として認識するためには、""が必要ですね。

回答
投稿日時: 21/12/21 09:26:05
投稿者: simple

>T5の列に下記があり
それは元の文字列と同じなんですが、どんな意図ですか?

投稿日時: 21/12/21 09:49:19
投稿者: mugiro7

最後のカンマは別のシステムに取り込む際に必要なのです。
結合したい列のパターンが複数あり、(シートも複数、レイアウトも異なる)共通で使用できるようT5からCSVにしたいと考えています。

回答
投稿日時: 21/12/21 10:58:16
投稿者: simple

テキストファイルで保存してから拡張子を.csvに変更すればどうですか?
変更はVBAのNameで可能です。

投稿日時: 21/12/21 12:03:44
投稿者: mugiro7

TXTにしても””括りになってしまいました。
FileSystemObject型のオブジェクト変数MyFSOを使用してCSVに書き込むことができました。
ありがとうございました。