| 
    
     |  | こんにちは。かみちゃん です。 
 >エクセルで文字列"AA,BB,RR,,,,AA,BB,CC,DD,,,QQ,DD,FF”のデータ
 >があるとしてこれの余分なカンマをとって、CSVとして扱いたいのですが
 >
 >strTEXTDATA=Replace(strTEXTDATA,",,",",")
 >
 >ではできないようです。他の方法ありますか?
 
 ",,"を","に変えるのはできるのですが、このままでは、
 ",,,"という文字列だった場合、変換後が",,"になってしまいます。
 
 そこで、以下のようにすれば、できると思います。
 
 Sub Macro1()
 Dim strTEXTDATA As String, strTEXTDATANEW As String
 Dim i As Long
 
 strTEXTDATA = "AA,BB,RR,,,,AA,BB,CC,DD,,,QQ,DD,FF"
 strTEXTDATANEW = ""
 For i = 0 To UBound(Split(strTEXTDATA, ","))
 If Split(strTEXTDATA, ",")(i) <> "" Then
 If strTEXTDATANEW = "" Then
 strTEXTDATANEW = Split(strTEXTDATA, ",")(i)
 Else
 strTEXTDATANEW = strTEXTDATANEW & "," & Split(strTEXTDATA, ",")(i)
 End If
 End If
 Next
 MsgBox "旧  " & strTEXTDATA & vbCrLf & _
 "新  " & strTEXTDATANEW & vbCrLf & _
 "参考 " & Replace(strTEXTDATA, ",,", ",")
 End Sub
 
 
 |  |