todas tengan tamaño seleccionar saber referencia rango quitar que para necesario mismo macro las hay ello desde cómo como combinadas combinada celdas celda buscar activa excel vba excel-vba merge

tengan - referencia celda combinada excel



Detecta celdas combinadas en VBA Excel con MergeArea (2)

Hay varios bits útiles de código para esto.

Coloque el cursor en una celda combinada y haga estas preguntas en la ventana de Inmigración:

¿Es la célula activa una célula fusionada?

? Activecell.Mergecells True

¿Cuántas celdas se fusionan?

? Activecell.MergeArea.Cells.Count 2

¿Cuántas columnas se fusionan?

? Activecell.MergeArea.Columns.Count 2

¿Cuántas filas se fusionan?

? Activecell.MergeArea.Rows.Count 1

¿Cuál es la dirección de rango fusionado?

? activecell.MergeArea.Address $F$2:$F$3

Tengo un gran problema con este: tengo que detectar celdas combinadas horizontal y verticalmente desde una tabla de Excel. Tengo que almacenar los primeros acordes celulares y la longitud del área fusionada. Recorro iterando la tabla con dos ciclos, línea por línea.

¿Cómo puedo usar la propiedad MergeArea para detectar las áreas fusionadas y no fusionadas? Si la celda no está fusionada, probablemente debería devolver un rango vacío, sin embargo, esto:

"Si currentRange no es nada entonces"

No está funcionando en absoluto. ¿Algunas ideas? Muchas gracias.


Mientras que trabajar con celdas seleccionadas como lo muestra @tbur puede ser útil, tampoco es la única opción disponible.

Puedes usar Range () así:

If Worksheets("Sheet1").Range("A1").MergeCells Then Do something Else Do something else End If

O:

If Worksheets("Sheet1").Range("A1:C1").MergeCells Then Do something Else Do something else End If

Alternativamente, puedes usar Celdas () :

If Worksheets("Sheet1").Cells(1, 1).MergeCells Then Do something Else Do something else End If