1 Alterna bandas de colores con Macros
En Excel existen distintas maneras de poder diferenciar filas pertenecientes a un rango, para ello es necesario identificar el uso para realizar determinada acción.
El uso de esta macro permite gestionar la presentación y apariencia de un rango o tabla, es importante resaltar que se puede asignar cualquier color y/o combinaciones de color según la tabla de colores.
1 .1 Dar Formato a tablas
Mediante el comando descrito se puede dar el evento requerido, pero con la restricciones de los colores estándares según modelos predefinidos.
1.2Macro Alterna bandas
La creación de una macros conlleva a personalizar el tipo de colores a definir asi como también el alcance inclusive a celdas sin valores.
Sub rango_colores()
'Se declara las variables tipo rango
Dim rangoini, filaran As Range
'Se define el rango
Set rangoini = Range("A2:C6")
'activar cada celda en el rango objetivo
For Each filaran In rangoini.Rows
'verificar si el numero de la fila par o no
' (Mod "X" = 0) Se utiliza para definir si es multiplo de "X"
If filaran.Row Mod 2 = 0 Then
'aplicar color intercalado
'Cada numero significa un color segun la escala RGB(Red-Green-Blue)
filaran.Interior.ColorIndex = 15
Else
filaran.Interior.ColorIndex = 17
End If
'regresar a la siguiente fila
Next filaran
End Sub
Cuando se ejecuta la macro cambiara a:
2. Rango habilitado
La siguiente permite restringir la edición de un determinado rango de celdas.
La aplicación es necesaria cuando se requiere bloquear el contenido que no se quiere modificar, limitando el área de trabajo a medida del usuario. Es recomendable esta macro ya que la opcion de bloquear hoja o libro no permite trabajar en ninguna celda.
Código:
Private Sub Workbook_Open()
'Definir rango a bloquear de la hoja a elegir
Sheets("hoja2").ScrollArea = "A1:f6"
End Sub
3. Crear formato a rango con nombre
Esta macro sirve para dar formato a aquellos rangos que se encuentren con nombres.
Realiza la búsqueda de los rangos que tienen nombre dentro de la hoja activa
3.1 Dar nombre a los rangos que se va a dar formato.
Rango1="TITULO"
Rango2="DEPART"
Rango3="Region"
3.2 Creación de la macro.
Codigo:
Sub crea_formato_rango()
'Se declaran las variables temporales
' almacenaran informacion de las tablas con datos
Dim RangeName As Name
Dim HighlightRange As Range
'Controlar errores
On Error Resume Next
'Realiza la iteracion y almacena el rango con nombre
For Each RangeName In ActiveWorkbook.Names
Set HighlightRange = RangeName.RefersToRange
'Da el formato al rango que tiene nombre
HighlightRange.Interior.ColorIndex = 6
'Realiza la nueva busqueda de rango con nombre
Next RangeName
End Sub
4. Copiar Rango
Esta macro nos permite copiar rangos en una misma hoja, ya que muchas veces se necesita informacion para completar otra tabla. A diferencia de "Copiar y Pegar" esta macro permite realizar dichos pasos incluyendo los valores y formatos definidos en el rango base.
4.1
Codigo
Sub copiar_celdas()
Range("A2:A6").Copy Range("A10:A14")
End Sub
5. Ordenar valores en un rango
Muchas veces hemos aplicado la función ordenar datos ya sea numéricos y/o alfabéticos en forma ascendente o descendente a fin de generar un valor agregado a los informes o tablas que se trabajan.
Para ello se define el siguiente código
' Ordenar Ascendente
Sub OrdenarRangoAsc()
Range("A3:A7").Sort Key1:=Range("A4:A7"), Order1:=xlAscending, Header:=xlYes
End Sub
'Ordenar descendente
Sub OrdenarRangoDesc()
Range("A3:A7").Sort Key1:=Range("A4:A7"), Order1:=xlDescending, Header:=xlYes
End Sub
Cabe recalcar que el ordenamiento lo llevara a cabo en el rango descrito en la hoja activa
Atte.
Erik Quispe Durand
08/01/2015 a las 7:03 pm
Hola,
Quiero hacer una macro que copie un rango variable a otra hoja de cáculo. Muchas gracias.
16/04/2021 a las 4:07 pm
Como puedo hacer que una fila que tenga coincidencia con un valor en una celda cambie de color con un macro, no formato condicional
16/04/2021 a las 4:09 pm
Nombre de columnas en "E5" pongo A y al presionar un boton toda la fila de "A:C" que contiene "A" cambia a color rojo
A 1 AB
B 2 AC
C 3 AD
D 4 AE
E 5 AF
F 6 AG
G 7 AH