Formatos de textbox excel VBA

Hola expertos,

Necesito introducir el numero de vuelo en un textbox y que en otro textbox me muestre el nombre de la aerolínea a la que pertenece. Los formatos siempre tienen la misma base, 6 caracteres entre números y letras, lo que nunca nunca varia son los dos primeros caracteres, por ejemplo Delta comienza con DL, SkyKing comienza con 5K, Wolrd Atlantic con K8 etc...

Entonces necesitaría referirme a esos dos primeros caracteres y de ahi tomar la referencia para que en el otro textbox me salga el nombre de la aerolínea correspondiente.

Entonces de los 6 caracteres tomar referencia solo de los dos primeros con un IF

algo como:

If Me.TextBox1.Text = Format(textbox1, "K8####") Then

Me.TextBox2.Text = "World Atlantic"

End If

Es la idea de lo que quiero que suceda, obviamente ese código no me funciona.

Saludos

1 Respuesta

Respuesta
1

Prefieres tener el catálogo de aerolíneas dentro de la macro, ¿o prefieres tenerlo en un rango de celdas?

Saludos. Dam

Si quieres el catálogo en la macro, sería así:

Private Sub TextBox1_Change()
Select Case Left(TextBox1, 2)
Case "DL"
TextBox2 = "Delta"
Case "5K"
TextBox2 = "SkyKing"
Case "K8"
TextBox2 = "Wolrd Atlantic"
Case "BA"
TextBox2 = "British Airways"
Case "AA"
TextBox2 = "American Airlines"
Case "AM"
TextBox2 = "Aeromexico"
Case Else
TextBox2 = "Aerolínea no definida"
End Select
End Sub

Si lo quieres en un rango de celdas, suponiendo en la columna A las siglas y en la columna B el nombre

Private Sub TextBox1_Change()
res = Application.VLookup(Left(TextBox1, 2), _
Range("A:B"), 2, False)
If IsError(res) = True Then
' No lo encontró
TextBox2 = "Aerolínea no definida"
Else
TextBox2 = res
End If
End Sub

Ejemplo:

A B
1 DL Delta
2 5K SkyKing
3 K8 Wolrd Atlantic
4 BA British Airways
5 AA American Airlines
6 AM Aeromexico

Si tienes muchas aerolíneas, me inclinó a favor de que lo tengas en un rango de celdas, es más práctico agregar un registro en el catálogo, que modificar la macro.

Saludos. Dam
Si es lo que necesitas.

Gracias Dam, lo probare mañana pero confío plenamente en usted ya que siempre ha sido certero con sus respuestas por eso voy a puntuar ya... y no son tantas aerolíneas de hecho los contratos son siempre con las mismas y no pasan de 5 asi que lo haré en la misma macro...

Saludos

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas