Ver Mensaje Individual
  #6 (permalink)  
Antiguo 08/01/2014, 04:38
Avatar de pkj
pkj
 
Fecha de Ingreso: julio-2006
Ubicación: Órbita sincrónica
Mensajes: 899
Antigüedad: 18 años, 4 meses
Puntos: 29
Respuesta: Coger parte de un string

Solo tienes que currartelo un poco con instr y sacarlo con mid$

Código vb:
Ver original
  1. Private Sub Command1_Click()
  2.   Dim Cadena As String
  3.   Dim Resultado As String
  4.   Cadena = "12_NA_GSC_201_GFIAT"
  5.   Resultado = Extraer_De(Cadena)
  6.   If Resultado = "" Then
  7.     MsgBox "No se ha encontrado la referencia"
  8.   Else
  9.     MsgBox Resultado
  10.   End If
  11. End Sub
  12.  
  13. Private Function Extraer_De(ByVal Cadena As String) As String
  14.   Dim Pos1 As Long
  15.   Dim Pos2 As Long
  16.   On Local Error GoTo Error1
  17.   Pos1 = InStr(1, Cadena, "_")
  18.   If Pos1 <> 0 Then
  19.     Pos1 = InStr(Pos1 + 1, Cadena, "_")
  20.     If Pos1 <> 0 Then
  21.       Pos2 = InStr(Pos1 + 1, Cadena, "_")
  22.       If Pos2 <> 0 Then
  23.         Extraer_De = Mid$(Cadena, Pos1 + 1, Pos2 - Pos1 - 1)
  24.       End If
  25.     End If
  26.   End If
  27. Error1:
  28.   Err.Clear
  29. End Function

Esto te sirve con cualquier longitud de cadena.
__________________
No hay preguntas tontas, solo gente estup..., ¡No!, ¿como era? No hay gente que pregunte a tontos... ¡Nooo!... ¡Vaya cabeza!