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