Colorear celda alterna al momento de ingresar un registro desde mi formulario.

Expertos como puedo hacer que al momento de hacer un registro desde mi formulario se me pinte toda la fila del registro pero de manera alterna una fila coloreada y otra en blanco y así sucesivamente como adjunto la imagen.

Respuesta
1

H0la Brenda:

¿Has pensado en insertar una tabla para ingresar tus datos?

Pestaña INSERTAR opción Tabla

Nos quedaría así

Al ir insertanto filas en la tabla, estas irían tomando el formato de la tabla.

Dime si te es útil.

S@lu2

Si pero me gustaría verlo con macros para al final no quede una fila vacía al momento de usar un lisbox.

¿Puedes compartir el código del botón guardar?

Private Sub BtnGuardar_Click()
Dim ultima As Long
    ultima = ActiveSheet.Cells(Rows.Count, "B").End(xlUp).Row
    Cells(ultima + 1, 1).Value = TxtApellidos
    Cells(ultima + 1, 2).Value = Val(TxtEdad)
    TxtApellidos = ""
    TxtEdad = ""
End Sub

Esta es una forma sencilla de agregar color una fila por medio

Private Sub BtnGuardar_Click()
  Dim ultima As Long
  ultima = ActiveSheet.Cells(Rows.Count, "B").End(xlUp).Row
  Cells(ultima + 1, 1).Value = TxtApellidos
  Cells(ultima + 1, 2).Value = Val(TxtEdad)
  TxtApellidos = ""
  TxtEdad = ""
  ''Agregar color''
  clr = RGB(200, 200, 200) 'Establece el color RGB'
  If (ultima Mod 2) = 0 Then _
    Range("A" & (ultima + 1) & ":B" & (ultima + 1)).Interior.Color = clr 'Asigna el color'
  ''''
End Sub

Me comentas si te funciona.

S@lu2

1 respuesta más de otro experto

Respuesta
1

Por programación seria como vez en la imagen, una vez que llenas los textbox en el formulario y das enter la fila se coloreara en automático dependiendo de si el numero de la fila es par o es non

y esta es la macro

Private Sub CommandButton1_Click()
Set Funcion = WorksheetFunction
filas = Range("a1").CurrentRegion.Rows.Count
Set datos = Range("a1").Rows(filas + 1).Resize(1, 2)
With datos
    .Cells(1) = TextBox1.Text
    .Cells(2) = TextBox2.Text
    If nones = Funcion.IsOdd(filas) Then .Interior.ColorIndex = 6
    If pares = Funcion.IsEven(filas) Then .Interior.ColorIndex = xlNone
End With
Set datos = Nothing
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas