Procedimiento en Excel con VBA para que una fila siga mis movimientos

Con este video tutorial se da respuesta a un usuario que pregunta cómo puede hacer para que al clicar una celda en una hoja de un libro de Excel, se marque la fila (de la celda) dentro de un rango determinado.

El ejercicio demuestra como con un Procedimiento Sub de llamado puede hacerse esta actividad; de modo tal que cuando este procedimiento se inserte en un evento de la hoja de cálculo se dé la ilusión de que la fila sigue el movimiento del clic del mouse.

Procedimiento Sub para asignar el color a la fila de una celda seleccionada

Sub CambioColorFila(Celda As Range)
   Dim i As Long
   Dim Columna As Long
   Dim Fila As Long
   Columna = Celda.Column
   Fila = Celda.Row
   Const ColInicio As Long = 1
   Const ColFin As Long = 5
   If (Columna >= ColInicio And Columna <= ColFin And Fila > 1) Then
      ActiveSheet.Range(Cells(2, ColInicio), Cells(1048576, ColFin)).Interior.ColorIndex = xlColorIndexNone
      For i = ColInicio To ColFin
         ActiveSheet.Cells(Fila, i).Interior.Color = RGB(0, 210, 0)
      Next i
   End If
End Sub

Este procedimiento utiliza varios objetos dentro de la instrucción, sin embargo, lo que se emplea como estructura primaria es un bucle For...To...Next para iterar por las celdas de una fila determinada y cambiar su color de relleno.

Configuración del evento SelectionChange de una hoja del libro de Excel

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
   Call Color.CambioColorFila(Target)
End Sub


1 comentario:

  1. Excelente, gracias por el aporte, una consulta, quisiera crear una copia del libro activo que tiene marcos /botones y fórmulas y esa copia sea sólo de valores y formatos, incluso no de todas las hojas que tiene el libro principal

    ResponderBorrar