A primeros de marzo de este año publiqué un artículo sobre el objeto .Dictionary (ver aquí).. es un artículo interesante doned se explica a nivel teórico y práctico este interesante objeto de VBA para Excel.
Hoy, continuando el trabajo del post anterior sobre celdas combinadas, aplicaremos el objeto .Dictionary para saber cuántas celdas combinadas existen en un rango seleccionado.
Insertamos la siguiente 'Function' en un módulo estándar:
Como veíamos en la imagen anterior, insertamos en una celda de la hoja de cálculo nuestra función:
=ContarCombinadas(A1:H26)
y obtenemos como resultado, para nuestro ejemplo, 4, es decir, cuatro celda combinadas en el rango A1:H26... tal y como necesitábamos.
Hoy, continuando el trabajo del post anterior sobre celdas combinadas, aplicaremos el objeto .Dictionary para saber cuántas celdas combinadas existen en un rango seleccionado.
Insertamos la siguiente 'Function' en un módulo estándar:
Function ContarCombinadas(rango As Range) As Long Dim celda As Range, direccion As String Set dicc = CreateObject("Scripting.Dictionary") 'recorremos el rango de celda seleccionado For Each celda In rango 'verificamos la propiedad .MergeCells 'para comprobar si está o no combinada If celda.MergeCells = True Then 'determinamos la dirección de la celda direccion = celda.MergeArea.Address 'y cargamos el diccionario... dicc.Item(direccion) = "" 'o también 'dicc(direccion) = "" End If Next celda 'acabamos contando los elementos únicos cargados en el dictionary ContarCombinadas = dicc.Count End Function
Como veíamos en la imagen anterior, insertamos en una celda de la hoja de cálculo nuestra función:
=ContarCombinadas(A1:H26)
y obtenemos como resultado, para nuestro ejemplo, 4, es decir, cuatro celda combinadas en el rango A1:H26... tal y como necesitábamos.
gracias por el dato fue mi salvacion espero que funcione
ResponderEliminar;-)
EliminarSlds