Solo tienes que currartelo un poco con instr y sacarlo con mid$
Código vb:
Ver originalPrivate Sub Command1_Click()
Dim Cadena As String
Dim Resultado As String
Cadena = "12_NA_GSC_201_GFIAT"
Resultado = Extraer_De(Cadena)
If Resultado = "" Then
MsgBox "No se ha encontrado la referencia"
Else
MsgBox Resultado
End If
End Sub
Private Function Extraer_De(ByVal Cadena As String) As String
Dim Pos1 As Long
Dim Pos2 As Long
On Local Error GoTo Error1
Pos1 = InStr(1, Cadena, "_")
If Pos1 <> 0 Then
Pos1 = InStr(Pos1 + 1, Cadena, "_")
If Pos1 <> 0 Then
Pos2 = InStr(Pos1 + 1, Cadena, "_")
If Pos2 <> 0 Then
Extraer_De = Mid$(Cadena, Pos1 + 1, Pos2 - Pos1 - 1)
End If
End If
End If
Error1:
Err.Clear
End Function
Esto te sirve con cualquier longitud de cadena.