• 締切済み

CSVの項目について

CSVについて質問です。 ある基幹システムよりCSVを出力すると、各列の列名の後方に、改行(空白)が含まれている状況です。 毎回出力する度に、改行(空白)を手動で削除するのは面倒でして、一括で操作できないかと思い、「置換」を試しましたがうまくいきません。 どなたか解決策をご教示いただけますと大変助かります。

みんなの回答

  • HohoPapa
  • ベストアンサー率65% (455/693)
回答No.4

>毎回出力する度に、改行(空白)を手動で削除するのは面倒で 面倒なほどの頻度なら、他の方のコメントにもありますが VBAでタスク化してしまうのがいいと思います。 よかったら、このコードを使ってみてください。 Sub sample()  Dim buf As String  Dim FileName As Variant     FileName = Application.GetOpenFilename(FileFilter:="CSVファイル,*.CSV")  If FileName = False Then   Exit Sub  End If  With CreateObject("ADODB.Stream")   .Charset = "shift_jis"   ' ANSIの場合、"shift_jis"   ' .Charset = "UTF-8"   .Open   .LoadFromFile FileName   buf = .ReadText   buf = Replace(buf, vbLf, "")   buf = Replace(buf, vbCr, vbCrLf)   .Close   .Open   .WriteText buf   FileName = Application.GetSaveAsFilename(FileFilter:="CSVファイル,*.CSV")   If FileName = False Then    Exit Sub   End If   .SaveToFile FileName, 2   .Close  End With End Sub

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

(1)作製部署(者)に改善依頼ーー力関係で、出来ないのだろうな (2)VBA(FSO)などでプログラムを組んで除く(数行ですむと思う) (3)メモ帳にそのCSVファイルを表示して、該当の箇所を見つけて(手動で)削除する。 (4)シート上でその行を削除(手動) 毎月あるとすれば、原因を絶つ、(1)しか良い手はないだろう。

  • msMike
  • ベストアンサー率20% (364/1804)
回答No.2

下記の方法をお試しあれ、m(_._)m 2行目全体を選択⇒マウスの右クリック⇒[挿入]⇒次式 =SUBSTITUTE(A1,CHAR(10),"") または、 =LEFT(A1,LEN(A1)-1) を入力したセル A2 を右方に(G列まで)ズズーッとオートフィル⇒ 範囲 A1:G1 が選択状態のままのときに、Ctrl+C を実行した後で、 マウスの右クリックから[貼り付けのオプション]直下の[123](値)アイ コンを一発ツン⇒行範囲 1:2 を選択⇒マウスの右クリック⇒[削除]をパシーッ オ・シ・マ・イ

  • kon555
  • ベストアンサー率51% (1842/3559)
回答No.1

関連するQ&A