Make sure you read my other post #4.
I made another example to see if it's possibly what you are looking to do.
Sub rjwrig()
Dim a, b As Long, c As String, rngData As Range, lc As Long, x As Long
With Worksheets("Example")
lc = .Cells(2, .Columns.Count).End(xlToLeft).Column
Application.ScreenUpdating = False
For x = 2 To lc
a = Split(.Cells(2, x).Value, "]")
Set rngData = .Range(.Cells(4, x), .Cells(.Rows.Count, x).End(xlUp))
For b = LBound(a) To UBound(a)
c = Trim(Mid(a(b), InStr(1, a(b), "[") + 1, Len(a(b)) - InStr(1, a(b), "[")))
If c <> "" Then
rngData.Replace What:=b, LookAt:=xlWhole, Replacement:=c
End If
Next b
Next x
End With
Application.ScreenUpdating = True
End Sub