A family of Microsoft spreadsheet software with tools for analyzing, charting, and communicating data.
Hi Corbyn
Here a macro that will sort your problem.
Please note:
* It will respond according to the pattern and sequence you wrote. So you might need to do some adjustments if changes arise.
* In this macro row 1 is for headers
************************************************************************************************
Sub SplitAndDuplicateData()
Dim Rp1, Rp2, T As String
Dim C As Variant
Dim Trg() As String
Dim Rng As Range
Dim R As Range
'Here we set the array you want to split
'Please note we assuming ranges in row 1, ie.A1, B1, C1.... are Headers
'Target range is from A2 downwards
Set Rng = Range("A2", Range("A2").End(xlDown))
' Loop though cells in target range.
For Each R In Rng
' Here we replace strings to create groups that contain the strings to split
Rp1 = Replace(R.Value, """ """, """""")
Rp2 = Replace(Rp1, ": ", """""")
' Trimming to clean unwanted spaces.
T = Trim(Rp2)
''' this function will split the string in groups by assigned the delimiter ""
Trg = Split(T, "")
'' ' Please note Trg(UBound(Trg))= last group (portion) in of the string ie. "xxx" or "txt"
''' This part will split string and assign the values to columns B and C
For Each C In Trg
If C <> Trg(UBound(Trg)) Then
Range("B" & Rows.Count).End(xlUp).Offset(1, 0).Value = C
Range("C" & Rows.Count).End(xlUp).Offset(1, 0).Value = Trg(UBound(Trg))
End If
Next C
Next R
End Sub
****************************************************************************************************
Hope this will help. Enjoy it.