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

エクセルファイルをcsvで保存する際、不要なところにもカンマが付いてしまって困っています。

例)
1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,
T,77,2008123,133648,,,,,,,,,,,,,,,,,,,,

というように、本文データ(24項目)に対して、フッターデータ(4項目)を最終行に挿入する際、
フッタデータの末尾に不要なカンマ(20個)が付いてしまいます。フッターには4項目以外の値は入っていません。
また、対象の範囲の値の削除し保存してみても、カンマが付いてしまいます。

このカンマを付けずにcsvを保存する方法を教えてください。
この作業は繰り返しの作業になるので、マクロを組みたいと考えています。

宜しくお願いいたします。

A 回答 (4件)

>尾に不要なカンマ(20個)が付いてしまいます


気にする必要はないのではないかな。エクセル以外の世界にデータを渡すなら、VBAで下記のようにでもして見たら。コード数は少なくて済むものだし、どうにでもなる。
(それにデータ例を説明するとき、24個も書くのでなく、3,4個の例にして、後で質問者で翻案すればよいでしょう。質問は複雑に見せない表現をお願いしますよ。)
例データ
A-D列
a1234
sf
qwe
as
ーー
コード
Sub test01()
Open "C:\Documents and Settings\xxxx\My Documents\aaa9.csv" For Output As #1
d = Range("A65536").End(xlUp).Row
For i = 1 To d
s = ""
For j = 1 To 10
If Cells(i, j) = "" Then Exit For
s = s & Cells(i, j) & ","
Next j
Print #1, Left(s, Len(s) - 1)
Next i
Close #1
End Sub
--
結果 メモ帳で
a1,2,3,4
s,f
q,w,e
as
ーーーー
>フッタデータ
エクセルでのフッター情報が自動的にCSVファイルに入りましたっけ?
意味的にフッターに入るべきデータという使い方ですか。
    • good
    • 0

No2様の回答の参考サイトに必要なことはほとんど出ていますが、UsedRangeの範囲を矩形で出力しているので、そのままではご質問の部分に関するところは変更しないとうまくいきませんね。



No1様もご指摘のように、空白セルでも保存するものとカットするものなどがあると思われますし、空行の処理(あるのかないのかわかりませんが)なども必要です。また、セルの値に「,」が含まれている場合、うっかりそのまま出力すると、そのカンマがセパレータと解釈されてしまいます。
    • good
    • 0

>この作業は繰り返しの作業になるので、マクロを組みたいと考えています。



マクロを使うのが前提であれば、自力でCSVファイルを生成すればよいのでは?

実際にやったことはないですが、CSVファイル生成についてはこの辺が参考になるのでは。
(ググればもっといいサイトがあるかもしれません)
http://www.k1simplify.com/vba/tipsleaf/leaf292.h …


ちなみに、フッタの「2008123」って日付データですよね。
これだと1月23日か12月3日か分らないけどいいのかしら、とちょっと気になってしまいました。
    • good
    • 0

教えて下さい。


なぜ空白カンマを削除したいのですか?
その空白カンマはセルに何も情報が入ってないことを意味してます。
削除するとその分セル数減りますよ。
基本24項目で必要なのが4項目なら当然20項目分の空白が存在してます。
それを削除すると基本4項目になりますよ。
数が合わないので、取り込みに問題が出ませんか?
    • good
    • 0

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