Cómo resaltar toda la fila de una tabla usando Excel VBA

0

Estoy usando un formulario de usuario para ingresar datos en una hoja de trabajo.

Me gustaría usar una casilla de verificación para resaltar toda la fila de una tabla.

Código de ejemplo:

Private Sub AddModifyAtRow(ByVal lRow As Long)
cIndex = 0
If CheckBox_NewBuild = True Then cIndex = 37
Dim ws As Worksheet
Set ws = Worksheets("Address")
With ws
     'This is the line I'd like to use to highlight row if Checkbox is True
    .Cells(lRow, 1).EntireRow.Interior.ColorIndex = cIndex

     'Enter the rest of the data from the UserForm into the Table
    .Cells(lRow, 1).Value = TxBox_Building.Text
    .Cells(lRow, 2).Value = TxBox_BTS.Text
End With

También he intentado usar esta línea:

.Range("Table5[lRow,[#ALL]]").Interior.ColorIndex = cIndex
Chris Young
fuente
Por favor describe tu problema. ¿Da un mensaje de error, no funciona como se esperaba?
Máté Juhász
El primer ejemplo funciona, usando .EntireRow pero el problema es que hace exactamente eso ... Destaca toda la fila de la hoja de trabajo. Los datos están formateados en una tabla, y me gustaría resaltar solo las columnas de la tabla, no TODAS las celdas en la hoja de trabajo.
Chris Young
Puede utilizar, por ejemplo, intersectde la fila completa y rango utilizado, o activesheet.listobjects (1) .rows (lrow) ...
Máté Juhász

Respuestas:

2

Casi estabas allí con tu intento ...

[Table5].Rows(lrow).Interior.ColorIndex = cIndex

suponiendo que su lrowes un número entero. Simplemente ajuste el nombre de la tabla a su tabla.

Raystafarian
fuente