• ベストアンサー

CSVファイルを読み込んだらセル結合が解除されます。

excel2000で、結合セルが含まれているシートに対して 外部データとしてCSVファイルを読み込み、貼り付けると、 貼り付け先のシートのセル結合が解除されてしまいます。 以前読んだあるハンドブックで、外部データを取り込む際には、 セル結合をしてはならないと書いてあったんですが、 今回の作業対象となるフォーマットには、結合セルが1枚のシートで 百組以上存在しています。 やはり地道に自力で復旧作業をするしか方法は無いのでしょうか? ご教授をお願いいたします。

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

  • ベストアンサー
回答No.2

CSVファイルをコピーしてMicrosoft Excel ワークブックで保存します。 貼り付けたいワークブックと保存しなおした(元CSV)ワークブックを両方開いてコピーー貼り付けでできませんか?(自信なし)

da-saitama
質問者

お礼

ありがとうございました。 やってみたら貼り付けられました。 意外と簡単だったんですね(苦笑

その他の回答 (3)

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

こんにちは。 >外部データを取り込む際には、セル結合をしてはならないと書いてあったんですが、 外部データの取り込みは、単に、QueryTable を使うのですから、ほかの方法が分かっていれば使わないです。 データ・インポートで、CSVそのものは、横(行)で取得しているのだから、セル結合が横なら、セルの状態を調べながら、ひとつずつ、データを入れて行けばよいです。それは、まったく問題ありません。それは、単なる技術だけの問題です。セル結合が縦(列)の場合、一旦、補助シートが必要になるかと思います。配列でやったら面倒でしょうがないです。つまり、入力する順序に、入れていくという方式です。 一旦、シートに入れた後、そのままコピペでは、セル結合がつぶれてしまいます。それと、縦横の場合は、ほとんど無理に近いでしょうね。 それと、確か、まだ、Excelは、セル結合は、いろんなトラブルが発生しますから、入力などしないというワークシートない限りは、  「結合セルが1枚のシートで百組以上」 というのは、やめたほうがいいと思います。

  • imogasi
  • ベストアンサー率27% (4737/17069)
回答No.3

セル結合が、縦方向のセルで行われるとして、直上セルと同じデータ内容なら、セルの文字を白色にする設定を、条件付書式で設定できるとおもう。一番上のセルだけが残って見えて、配置が中央らしく見えないが、辛抱できませんか。 ーー また、一番上のセルだけに残すので良いなら、CSVファイルをVBAで読んで、直前レコード(=行)の同フィールド(=列)と同じなら、空白に置き換えるような、CSVファイルを修正して、その後修正後CSVファイルを、エクセルに読み込ませるのはどうかな。 同じデータのセル群の真ん中または半分-1のセルだけ残すのは、プログラムを組むスキル上、溜め込みをしないとできないと思うので、 好きじゃない。 ーーー もちろん読み込んだ後、固まった同データセルを結合し、元のデータをセットするのは、難なくできると思う。同データセルの連続が切れたときに、(スタートセルとデータを変数に覚えておくのだが) セル結合 データをセット 処理すればよい。 、

回答No.1

Visual BasicではなくExcelのお話ですね。 残念ながらCSVにはどの行が結合されているか保存することができません。 碁盤の目のようになっているものでなければ扱えないのです。 そのファイルはXLSに書き出せないのでしょうか? また元がHTMLであれば直接コピーアンドペーストすれば結合を保持できます。 もしもどうしてもCSVでなければならないのであれば碁盤の目にできるように形式を見直したほうが良いと思います。

関連するQ&A