アプリ版:「スタンプのみでお礼する」機能のリリースについて

【エクセル VBA】

VBAを使って複数のCSVを結合させたいのですが、コンマ区切りの値がデータ上に存在するため上手くまとまりません。


コマンドでまとめる方法は知っているのですが、どうしてもVBAでやらなければならないので、その方法をご教授下さい。

また、結合するCSVはエクセルを開いた時に選択できるようにしたいです。
(特定のファイル上を対象では無く。)



説明が分かり辛いかもしれませんがよろしくお願いします。

A 回答 (4件)

こんにちは



CSVには統一された規格がないので、細部について(コーテーションの種類やコーテーション内でのコーテーションの扱いなど)はいろいろ異なるルールがあり得ます。

対象がどのようなルールのデータなのかによるところは大きいですが…
エクセルでそのまま読み込める形式のCSVであるなら、No2様がおっしゃっているように、エクセルに読み込ませるというVBAを作成するのが簡単でしょう。
読み込めさえすれば、あとは統合処理だけなので比較的簡単だと思います。

エクセルで直接は読み込めないようなルールのデータの場合は、
>コマンドでまとめる方法は知っているのですが~~
とのことなので、手順ははっきりしているのでしょうから、対象のCSVをテキストで読み込み、文字列操作によってその手順で処理を行なえば解釈ができるものと思います。

>また、結合するCSVはエクセルを開いた時に選択できるようにしたいです。
どこかのセルにファイルを指定(記入)したうえでVBAを実行するか、VBAからファイル選択のダイアログを表示して選択させるなどの方法が考えられると思います。
    • good
    • 0

>VBAを使って複数のCSVを結合させたいのですが、コンマ区切りの値がデータ上に存在するため上手くまとまりません。



CSVデータは一つの値をカンマで区切って並べてあるデータです。
1つのデータの中にカンマが存在する場合は、CSVに書き出す側で処置をしましょう。
でないとCSVファイルになりません。

・・・
VBAで処理をするにしても、カンマを含むデータが出現する条件などが不明ですので
何らかのルールに基づいて処理することができません。
    • good
    • 0

>コンマ区切りの値がデータ上に存在するため上手くまとまりません。


意味がわかりません。
エクセルのシート上のボタンをクロックする
ファイルを選択するダイアログが表示される
ファイルを選択すると、別シートにCSVのデータが転記される。
更にボタンを押して次のファイルを選択する
同様に、先ほどのデータの後にCSVのデータが追加される。
繰り返す。
別のボタンを押すと、統合したデータをCSVに書き出す。
エクセルのシート上のデータを削除する

こんな流れでしょうか。
    • good
    • 0

コマンドでどのように結合されているか?提示されていないので具体的な回答は無理ですが、VBAでバッチファイルを作成して、さらにそれを

実行するのはダメでしょうか?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!