La función VBA SpecialCells(xlCellTypeBlanks) no funciona según lo esperado en Excel
Síntomas
Al crear una macro de Microsoft Visual Basic para Aplicaciones (VBA) que selecciona varios rangos no contiguos en un libro de Microsoft Excel que usa una expresión VBA similar a la siguiente, se producen acciones que solo se suponía que se producían con celdas no contiguas en cada celda de la selección original de la hoja de cálculo:
expression.SpecialCells(XlCellType).expression XlCellType
puede ser cualquiera de los siguientes:
- xlCellTypeAllFormatConditions
- xlCellTypeAllValidation
- xlCellTypeBlanks
- xlCellTypeComments
- xlCellTypeConstants
- xlCellTypeFormulas
- xlCellTypeSameFormatConditions
- xlCellTypeSameValidation
- xlCellTypeVisible
Causa
Este comportamiento se produce si selecciona más de 8 192 celdas no contiguas con la macro. Excel solo admite un máximo de 8 192 celdas no contiguas a través de macros vba.
Normalmente, si intenta seleccionar manualmente más de 8 192 celdas no contiguas, recibirá el siguiente mensaje de error:
La selección es demasiado grande.
Sin embargo, cuando se usa una macro vba para hacer la misma selección o una selección similar, no se genera ningún mensaje de error y no se genera ningún código de error que se pueda capturar a través de un controlador de errores.
Solución alternativa
Para evitar este comportamiento, es posible que desee crear una estructura de bucle en la macro de VBA que controle menos de las 8 192 celdas máximas.
Estado
Este comportamiento es una característica del diseño de la aplicación.
Comentarios
https://aka.ms/ContentUserFeedback.
Próximamente: A lo largo de 2024 iremos eliminando gradualmente GitHub Issues como mecanismo de comentarios sobre el contenido y lo sustituiremos por un nuevo sistema de comentarios. Para más información, vea:Enviar y ver comentarios de