Hieronder mijn oplossing
Sub jvr()
arr = Split([A1], """")
For i = 0 To UBound(arr) Step 2
arr(i) = Replace(arr(i), ",", "|")
Next
jv = Split(Join(arr, """"), "|")
[E3].Resize(, UBound(jv) + 1) = jv
End Sub
Als functie:
Function jvr(cell As String)
arr = Split(cell, """")
For i = 0 To UBound(arr) Step 2
arr(i) = Replace(arr(i), ",", "|")
Next
jvr = Split(Join(arr, """"), "|")
End Function
@Redhead, hieronder met Regex. Je zult zien dat de volgorde anders is.
Function QuotedSplit(cell As String) As Variant
With CreateObject("VBscript.Regexp")
.Pattern = """(.*?)"""
.Global = True
Set ar = .Execute(cell)
End With
For Each it In ar
arr = arr & it & "~"
cell = Replace(Replace(cell, Replace(it, "~", ""), ""), ",,", "~")
Next
QuotedSplit = Split(Join(Array(arr, Replace(cell, ",", "~"))), "~")
End Function