It's also dependent on how you structure your data:
Sub M_snb() c00 = "Nadal" sn = Split("Phelps_Swimming Nadal_Tennis Messi_Football") c01 = "Phelps Swimming Nadal Tennis Messi Football" MsgBox Split(Filter(sn, c00)(0), "_")(1) MsgBox Split(Split(c01, c00)(1))(1) With CreateObject("scripting.dictionary") sp = Split(c01) For j = 0 To UBound(sp) - 1 Step 2 .Item(sp(j)) = sp(j + 1) Next MsgBox .Item(c00) End With End Sub