De VBA-functie SpecialCells(xlCellTypeBlanks) werkt niet zoals verwacht in Excel
Symptomen
Wanneer u een VBA-macro (Microsoft Visual Basic for Applications) maakt waarmee meerdere niet-aaneengesloten bereiken worden geselecteerd in een Microsoft Excel-werkmap die gebruikmaakt van een VBA-expressie die vergelijkbaar is met de volgende, worden acties uitgevoerd die alleen zouden moeten worden uitgevoerd met niet-aaneengesloten cellen in elke cel in de oorspronkelijke selectie op het werkblad:
expression.SpecialCells(XlCellType).expression XlCellType
kan een van de volgende zijn:
- xlCellTypeAllFormatConditions
- xlCellTypeAllValidation
- xlCellTypeBlanks
- xlCellTypeComments
- xlCellTypeConstants
- xlCellTypeFormulas
- xlCellTypeSameFormatConditions
- xlCellTypeSameValidation
- xlCellTypeVisible
Oorzaak
Dit gedrag treedt op als u meer dan 8.192 niet-aaneengesloten cellen met uw macro selecteert. Excel ondersteunt maximaal 8.192 niet-aaneengesloten cellen via VBA-macro's.
Als u handmatig meer dan 8.192 niet-aaneengesloten cellen probeert te selecteren, ontvangt u doorgaans het volgende foutbericht:
De selectie is te groot.
Wanneer u echter een VBA-macro gebruikt om dezelfde of een vergelijkbare selectie te maken, wordt er geen foutbericht weergegeven en wordt er geen foutcode gegenereerd die kan worden vastgelegd via een fouthandler.
Tijdelijke oplossing
Als u dit gedrag wilt omzeilen, kunt u een lusstructuur maken in uw VBA-macro die minder dan de maximale 8.192 cellen verwerkt.
Status
Dit gedrag is inherent aan het ontwerp van het product.
Feedback
https://aka.ms/ContentUserFeedback.
Binnenkort beschikbaar: In de loop van 2024 zullen we GitHub-problemen geleidelijk uitfaseren als het feedbackmechanisme voor inhoud en deze vervangen door een nieuw feedbacksysteem. Zie voor meer informatie:Feedback verzenden en weergeven voor