|
こんにちは。かみちゃん です。
>エクセルで文字列"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
|
|