Você está offline; aguardando reconexão

A função do VBA .SpecialCells(xlCellTypeBlanks) não funciona como esperado no Excel

IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine Translation ou MT), não tendo sido portanto traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 832293
Sintomas
Quando você criar um Microsoft Visual Basic for Applications (VBA) macro que seleciona vários intervalos não-contíguos em uma pasta de trabalho que usa uma expressão VBA que é semelhante a ações a seguir, que só deveriam para ocorrer com células não-contíguas ocorrer a cada célula da seleção original na planilha do Microsoft Excel:
expressionexpression
pode ser qualquer um dos seguintes:
  • xlCellTypeAllFormatConditions
  • xlCellTypeAllValidation
  • xlCellTypeBlanks
  • xlCellTypeComments
  • xlCellTypeConstants
  • xlCellTypeFormulas
  • xlCellTypeSameFormatConditions
  • xlCellTypeSameValidation
  • xlCellTypeVisible
Causa
Esse comportamento ocorre se você selecionar mais de 8.192 células não-contíguas com sua macro. Excel só oferece suporte a um máximo de 8.192 células não-contíguos através de macros do VBA.

Normalmente, se você tentar selecionar mais de 8.192 células não-contíguas manualmente, você receber a seguinte mensagem de erro:
A seleção é muito grande.
No entanto, quando você usar uma macro VBA para fazer o mesmo ou uma seleção semelhante, nenhuma mensagem de erro é gerada e nenhum código de erro é gerado que pode ser capturado por meio de um manipulador de erro.
Como Contornar
Para contornar esse comportamento, convém criar uma estrutura de loop no sua macro VBA que manipula a menos que as células de 8.192 máxima.
Situação
Esse comportamento é por design.
XL2007 XL XL2003 XL2002 XL2000 XL97 XL2K3 XL2K + 3 XL2k2 XL2K + 2 XLXP XL2k

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 832293 - Última Revisão: 11/10/2006 21:46:12 - Revisão: 2.2

Microsoft Office Excel 2007, Microsoft Office Excel 2003, Microsoft Excel 2002 Standard Edition, Microsoft Excel 2000 Standard Edition, Microsoft Excel 97 Standard Edition

  • kbmt kbvba kbfunctions kbformat kbmacro kbcodesnippet kbcode kbprb KB832293 KbMtpt
Comentários
m=document.createElement('meta');m.name='ms.dqp0';m.content='true';document.getElementsByTagName('head')[0].appendChild(m);" onload="var m=document.createElement('meta');m.name='ms.dqp0';m.content='false';document.getElementsByTagName('head')[0].appendChild(m);" src="http://c1.microsoft.com/c.gif?">