Colorear línea en Excel por medio de TextBoxs marcando un CheckBox

Esta parte de un código está para trasladar el color de texto del TextBox a la celda correspondiente al TextBox hacia la hoja, en este caso es celda de la columna J o U según la página que se esta llenando

Identifico la hoja en Página 1 a la izquierda desde B hasta QUE y Página 2 desde M hasta V

Esta parte además de traspasar los datos del TextBox al pisar botón Insertar colorea SOLO una celda y dejarla intacta con la función que ejerce

        wcolor = vbBlack: wbold = False
        If CheckBox4 Then wcolor = 3: wbold = True
            For i = 1 To 5 
                With Controls("TextBox" & i) 
                    .Cells(fil, col + 8).Font.ColorIndex = wcolor 
                    .Cells(fil, col + 8).Font.Bold = wbold
                End With
        Next
        End If

Ejemplo de como queda en la hoja con esta parte de la macro. Esto pasa hacia la celda de la línea en que van los datos insertados, este caso la celda en J

Quiero agregar un CheckBox4 (que ya lo tengo) más para el efecto que se sigue; Texto en rojo, negrita y fondo Verde. Este CheckBox ya solo me falta la parte del código que englobe los 5 TextBox para que sea insertado en las celdas respectivas

Algo tal vez parecido que cuando los 5 TextBox este con texto color rojo, ese color se traslade a las celdas respectivas como muestra la imagen de abajo. Algo parecido tal vez pero para la(línea) celdas correspondientes a los 5 TextBox

        wcolor = vbBlack: wbold = False
        If CheckBox4 Then wcolor = 4: wbold = True  'color verde y negrita
            For i = 1 To 5   'del 1 al 5 TextBox. Tienen que ser los 5 de una ves para las 5 celdas de la linea
                With Controls("TextBox" & i)  'tiene que ser a los 5 TextBox, no 1 solo
                    .Cells(fil, col + 8).Font.ColorIndex = wcolor  'aqui y la que sigue, es donde esta el secreto que no conozco. En ves de col debe ser fil (algo asi creo) no me dán los conocimientos
                    .Cells(fil, col + 8).Font.Bold = wbold
                End With
        Next
        End If

Que quede así

1 Respuesta

Respuesta
1

[Hola

Te paso la macro

No observo las columnas, te paso un ejemplo y lo adecuas a tu necesidad

Private Sub CommandButton1_Click()
u = Range("A" & Rows.Count).End(xlUp).Row + 1
Cells(u, "A") = TextBox1
Cells(u, "B") = TextBox2
Cells(u, "C") = TextBox3
Cells(u, "D") = TextBox4
Cells(u, "E") = TextBox5
If CheckBox4 Then wcolor = 3: wbold = True
With Cells(u, "A").Resize(1, 5)
    .Interior.ColorIndex = 43
    .Font.ColorIndex = wcolor
    .Font.Bold = wbold
End With
End Sub

valora la respuesta para finalizar saludos!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas