Visual Basic para Aplicaciones - ¿Cambiar el color de un textbox creado mediante código, al seleccionarlo? VBA Excel

Life is soft - evento anual de software empresarial
   
Vista:

¿Cambiar el color de un textbox creado mediante código, al seleccionarlo? VBA Excel

Publicado por Daniel (4 intervenciones) el 17/09/2015 04:50:53
Saludos a todos,

Tengo un formulario, el cual es como se ve en la imagen que adjunto, Los textbox de Cantidad son creados dinámicamente dentro de la macro así:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Private Sub UserForm_Initialize()
 
Application.ScreenUpdating = False
Sheets("Maestros").Select
Filas = Range("L1").End(xlDown).Row - 2
 
UserForm_Initialize()
Dim n As Integer
For n = 1 To Filas
With Me.Controls.Add("Forms.TextBox.1")
.Name = "Texto" & n
.Top = 23 + (n - 1) * 13.6: .Height = 13.5
.Left = 280: .Width = 50
.Font.Size = 7
 
End With
Next n
End Sub

720738

Lo que quiero hacer es que al poner el cursor en uno de los textbox, este me cambie de color y se me resalte el ítem del listbox correspondiente,

¿Cómo podría hacer esto mediante programación en VBA de Excel?

Agradezco su atención y cooperación
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder

¿Cambiar el color de un textbox creado mediante código, al seleccionarlo? VBA Excel

Publicado por Rafael (11 intervenciones) el 17/09/2015 15:06:02
Hola

Primer paso debes crear una funcion similar a esto:

1
2
3
4
Public Sub AnyTextBox_GotFocus(ByRef mpTextBox As TextBox)
    mpTextBox.BackColor = RGB(125, 125, 125)
    'Codigo para seleccionar el listado... supongo que sabras como no??
End Sub

Y en la funcion donde has creas el textbox añadir en el bloque with

1
2
3
4
5
6
7
With Me.Controls.Add("Forms.TextBox.1")
    .Name = "Texto" & n
    .Top = 23 + (n - 1) * 13.6: .Height = 13.5
    .Left = 280: .Width = 50
    .Font.Size = 7
    .OnGotFocus = "=AnyTextBox_GotFocus(" & lTextBox.Name & ")"
End With

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿Cambiar el color de un textbox creado mediante código, al seleccionarlo? VBA Excel

Publicado por Daniel (4 intervenciones) el 17/09/2015 15:29:42
Hola Rafael,

Estuve intentando con el código que me dices, pero al parecer ese comando OnGotFocus es para access y yo estoy utilizando la versión de VBA a Excel, cuando intento ejecutar el código con esa instrucción me sale error en tiempo de ejecución. ¿Me podrías decir cuál es el equivalente de esto en VBA Excel?

Gracias por tu tiempo
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿Cambiar el color de un textbox creado mediante código, al seleccionarlo? VBA Excel

Publicado por Rafael (11 intervenciones) el 18/09/2015 10:01:19
Pasame tu hoja de excel con ejemplo y te la regreso con el ejemplo

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿Cambiar el color de un textbox creado mediante código, al seleccionarlo? VBA Excel

Publicado por Daniel (4 intervenciones) el 19/09/2015 21:39:34
Hola Rafael,

Te adjunto un ejemplo del archivo al que quiero ponerle esta funcionalidad.

Saludos,
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿Cambiar el color de un textbox creado mediante código, al seleccionarlo? VBA Excel

Publicado por Rafael (11 intervenciones) el 23/09/2015 09:19:02
Hola:

Espero te sirva... y si eso un +1 no vendria mal.

Saludos
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar

¿Cambiar el color de un textbox creado mediante código, al seleccionarlo? VBA Excel

Publicado por Daniel (4 intervenciones) el 23/09/2015 13:45:42
Muchas gracias Rafael, quedó funcionando perfecto :D
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar

¿Cambiar el color de un textbox creado mediante código, al seleccionarlo? VBA Excel

Publicado por Alfa Centauro (1 intervención) el 04/07/2016 23:04:35
En el Perú se ingresa 8 dígitos para el DNI, mi campo máximo de textbox1 es 10 dígitos. se deseo que cuando escriba el 9no digito se ponga de color rojo. agradeceré VBA

Gracias.

Alfa Centauro
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar