Excel - Cambiar color de celda con el codigo del userform

 
Vista:
Imágen de perfil de Oscar
Val: 27
Ha aumentado 1 puesto en Excel (en relación al último mes)
Gráfica de Excel

Cambiar color de celda con el codigo del userform

Publicado por Oscar (14 intervenciones) el 29/01/2020 03:27:59
Hola, primero que todo muchas gracias a quien pueda ayudarme con este problema,
Tengo funcionando un libro Excel con la funcionalidad del ejemplo que estoy adjuntando, pero me ayudaría muchísimo que cuando se ejecute el codigo del Userform, con la misma acción de ese codigo, me cambiara el color a la celda correspondiente al nombre de la persona que se está procesando en ese momento.
Tal como se ve en el ejemplo que estoy adjuntando.

De antemano muchas gracias desde Venezuela.



EJEMPLO
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
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Cambiar color de celda con el codigo del userform

Publicado por Antoni Masana (2463 intervenciones) el 30/01/2020 00:51:32
Con un GRABAR MACRO y cambiar el color de la celda tendrás el código que debes poner en un formulario.

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
Imágen de perfil de Dirk
Val: 455
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Cambiar color de celda con el codigo del userform

Publicado por Dirk (166 intervenciones) el 30/01/2020 13:37:20
Hola Oscar, como dice Antoni te puedes ayudar con la grabadora de macros para identificar el código que debes usar, pero ten cuenta que debes identificar la celda para que puedas hacer el cambio del color así que debes identificar donde el userform guarda la posición de la celda, también debes considerar que en algún momento debes restablecer el color a todas las celdas a su color original, entonces puedes hacer un botón y colocarlo en el formulario o en alguna situación es especifico como cuando cambias de mes o haces el cierre de periodo....

Salu2
Dirk
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
Imágen de perfil de Oscar
Val: 27
Ha aumentado 1 puesto en Excel (en relación al último mes)
Gráfica de Excel

Cambiar color de celda con el codigo del userform

Publicado por Oscar (14 intervenciones) el 30/01/2020 16:16:53
Buen dia... Un saludo cordial. Como ya dije antes usé la grabadora de macros y copuié el fragmento de codigo relacionado con el cambio de color de la celda. Pero es el caso que si usted le hecha un vistazo al codigo del Commandbutton del formulario, notará que es muy extenso y resulta muy complicado para una persona que no tiene conocimientos avanzados de excel saber en que punto del proceso ese codigo selecciona la celda donde está el NOMBRE que quiero resaltar cambiando su color, para insertar dicho fragmento, a fin que cuando corra el programa de ese botón haga el cambio de color requerido.

A continuación dejo el codigo completo, para que le hechen un vistazo. El archivo de ejemplo esta adjunto.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
Private Sub cmdIng_Click()
    Dim m_row As Integer
    Dim bl_continuar As Boolean
    Dim i As Integer
    If (EsVacio(Me.cboMes.Text)) Then
        Me.cboMes.SetFocus
        Beep
        Exit Sub
    End If
 
    If (EsVacio(Me.cboMiembro.Text)) Then
        Me.cboMiembro.SetFocus
        Beep
        Exit Sub
    End If
 
    Call Sheets("G1").Select
    Call Columns("C:C").Select
    Call Range("C5").Activate
 
    Selection.Find(What:=Me.cboMiembro.Text, After:=ActiveCell, LookIn:= _
        xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:= _
        xlNext, MatchCase:=False, SearchFormat:=False).Activate
    m_row = ActiveCell.Row
 
 
    Range(columnadelmes(Me.cboMes) & m_row).Select
    'comprobamos si hay valores previos
    bl_continuar = True
    With ActiveCell
        For i = 1 To 6
            bl_continuar = bl_continuar And IsEmpty(.Offset(0, i))
        Next
    End With
    If bl_continuar Then
        ActiveCell.Offset(0, 1).Value = Me.D_1.Text
        ActiveCell.Offset(0, 2).Value = Me.D_2.Text
        ActiveCell.Offset(0, 3).Value = Me.D_3.Text
        ActiveCell.Offset(0, 4).Value = Me.D_4.Text
        ActiveCell.Offset(0, 5).Value = Me.D_5.Text
        ActiveCell.Offset(0, 6).Value = Me.D_6.Text
        MsgBox "Los datos se guardarón correctamente", vbInformation
    Else
        MsgBox "Hay datos existentes" & vbCrLf & _
            "No se guardará este contenido", vbOKOnly + vbExclamation
    End If
 
 
 
    Call Unload(Me)
    Call Sheets("G1").Select
End Sub

Agradezco su tiempo y generosidad en brindar esta valiosa ayuda que simplificará significativamente mi trabajo, y mas en tiempos que como todos saben las cosas no son nada faciles en mi país.

Saludos cordiales a todos.
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
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Cambiar color de celda con el codigo del userform

Publicado por Antoni Masana (2463 intervenciones) el 30/01/2020 16:53:41
Tendrias que subir el libro, explicar como funciona la parte que te interesa y cuando se debería marcar y desmarcar.

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
Imágen de perfil de Dirk
Val: 455
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Cambiar color de celda con el codigo del userform

Publicado por Dirk (166 intervenciones) el 30/01/2020 19:20:49
Oscar, agrega en la línea 36, 'activecell.interior.color = rgb(0,128,0)' creo que ese es el color del verde de la imagen... sino puedes buscar en la paleta de colores de Excel, en la pestaña Personalizado el color que te guste y tomando nota de los números para que los coloques dentro del RGB en el mismo orden, el color blanco es RGB(255,255,255) o vbWhite, también puedes usar la grabadora de macros para identificar el color que quieras...

Cualquier problema sube el archivo pero espero te sirva, salu2 desde Vzla
Dirk
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
Imágen de perfil de Oscar
Val: 27
Ha aumentado 1 puesto en Excel (en relación al último mes)
Gráfica de Excel

Cambiar color de celda con el codigo del userform

Publicado por Oscar (14 intervenciones) el 30/01/2020 20:30:49
Gracias por su tiempo. Cuando añado el codigo en la linea 36 me colorea otra celda.
Estoy adjuntando el libro.
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
Imágen de perfil de Antoni Masana
Val: 4.908
Oro
Ha mantenido su posición en Excel (en relación al último mes)
Gráfica de Excel

Cambiar color de celda con el codigo del userform

Publicado por Antoni Masana (2463 intervenciones) el 30/01/2020 20:54:16
Añade estos dos procedimientos a tu código.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
Private Sub cboMiembro_Change()
    Dim Fila As Long
 
    Fila = 6
    While Cells(Fila, "C") <> ""
        If Cells(Fila, "C") = cboMiembro.Text Then
            Cells(Fila, "C").Select
            With Selection.Interior
                .Pattern = xlSolid
                .PatternColorIndex = xlAutomatic
                .Color = 52377
                .TintAndShade = 0
                .PatternTintAndShade = 0
            End With
        Else
            Cells(Fila, "C").Select
            With Selection.Interior
                .Pattern = xlSolid
                .PatternColorIndex = xlAutomatic
                .Color = 10092543
                .TintAndShade = 0
                .PatternTintAndShade = 0
            End With
        End If
        Fila = Fila + 1
    Wend
End Sub

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Private Sub UserForm_Terminate()
    Dim Fila As Long
 
    Fila = 6
    While Cells(Fila, "C") <> ""
        Cells(Fila, "C").Select
        With Selection.Interior
            .Pattern = xlSolid
            .PatternColorIndex = xlAutomatic
            .Color = 10092543
            .TintAndShade = 0
            .PatternTintAndShade = 0
        End With
        Fila = Fila + 1
    Wend
End Sub

Y ya me contaras.

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
Imágen de perfil de Oscar
Val: 27
Ha aumentado 1 puesto en Excel (en relación al último mes)
Gráfica de Excel

Cambiar color de celda con el codigo del userform

Publicado por Oscar (14 intervenciones) el 30/01/2020 21:01:38
Gracias a todos los que amablemente quisieron ayudarme. Haciendo pruebas en diferentes lineas me funcionó insertando el codigo en la linea 25. ... Funcional full.
Gracias a todos.
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