こんにちは。Wendy02です。
当面、どこかのブックに、以下のようなコードを置いて、CSV ファイルから、問題のコードを削除してみてください。初歩的なコードですが、目的は果たせるような気がしています。
'<標準モジュールに貼り付けて、これもフォームのボタンにつけるとよいです。>
Sub CRLFCodeDeleting()
Dim c As Range
Dim buf As String
Dim bufeach As String
Dim i As Long
Application.ScreenUpdating = False
For Each c In ActiveSheet.Range("A1").CurrentRegion
If Not IsEmpty(c.Value) Then
buf = Application.Substitute(c.Value, vbCr, " ")
buf = Application.Substitute(buf, vbLf, "")
buf = Application.Substitute(buf, """", "")
'半角カタカナのみを全角にするオプション開始
If buf Like "*[" & Chr(166) & "-" & Chr(223) & "]*" Then
For i = 1 To Len(buf)
If Mid$(buf, i, 1) Like "[" & Chr(166) & "-" & Chr(223) & "]" Then
bufeach = bufeach & StrConv(Mid$(buf, i, 1), vbWide)
Else
bufeach = bufeach & Mid$(buf, i, 1)
End If
Next i
buf = bufeach
End If
bufeach = ""
'オプション終わり
c.Value = buf
buf = ""
End If
Next
Application.ScreenUpdating = True
End Sub
>エクセルにしてデータを保存する前に、CSVの時点で置換でctrlJをしないとだめですか?
その作業の後先については、当面関係ないと思っています。
>フォーマットにCSVになおすマクロのフォームボタンがあるのですが、それでCSVに変換したものをみると、改行があった あいうえお のあとで、次の行にいってしまっています。。。
ちょっと気になります。CSVになおすマクロって、もしかしたら、特殊なことをしている可能性がありますね。上のコードでダメな場合は、そのマクロを見させていただくようになるかと思います。
>JIS関数で全角になおして、それを値だけコピーしたものを、そのフォーマット(エクセル)にはりつけました。
そのインターネット用のプログラムは、このサイトでも、いくつか出来ていましたが、今回は、半角カタカナだけが対象にしました。
お礼
ありがとうございます。 あまりシステムのことは詳しくないので、 会社のシステム作った人に聞いてみました。 ""が全ての項目に入っていないから・・・みたいな説明でした。