Página 1 de 1

[RESOLVIDO] Erro 1004: Erro de aplicativo ou definição de objeto em execução de Loop

Enviado: 19 Mai 2022 às 18:02
por CinOlive
Olá senhores, tudo bem?

Seguinte... Comecei a mexer com VBA faz umas três semanas, e tem duas semanas que estou com um problema ao qual não consigo resolver (nem entender porque ocorre).

Eu tenho uma tabela dinâmica e algumas colunas estáticas, com valores numéricos. Eu preciso que o código percorra a coluna com números até o último registro e, toda vez que encontrar um valor superior ou igual a 20, é gerada uma tabela com detalhes do registro em específico, e a aba gerada recebe é renomeada. Até então um código aparentemente simples, creio eu.

Só que quando eu coloco esse código (abaixo) em execução, ele executa 60 vezes a solicitação e dá o erro 1004.
Código: Selecionar todos
Sub Ofensores()

Dim UltLinha As Long
Dim contador As Integer
Dim nome As String

'verifica última linha
UltLinha = Cells(Rows.Count, 1).End(xlUp).Row
contador = 3
    
   Do While contador < UltLinha
'pega o nome do usuário
   nome = Cells(contador, 1).Value
'compara com a coluna numérica
  If Cells(contador, 11).Value >= 20 Then
        Range("C" & contador).ShowDetail = True
        ActiveSheet.Name = nome
        Sheets("Delivery").Activate
    End If
    contador = contador + 1
  Loop
   
End Sub

Alguém consegue me informar o motivo, e propor uma solução?

Abraços, e obrigada desde já!

Re: Erro 1004: Erro de aplicativo ou definição de objeto em execução de Loop

Enviado: 20 Mai 2022 às 13:14
por osvaldomp
Olá, @CinOlive .

Se você disponibilizar uma amostra do seu arquivo Excel com o código instalado talvez facilite para obter ajuda.

Veja o caminho no final do meu post.

Re: [RESOLVIDO] Erro 1004: Erro de aplicativo ou definição de objeto em execução de Loop

Enviado: 23 Mai 2022 às 09:38
por CinOlive
@osvaldomp Obrigada pela disponibilidade, mas acabei chegando à conclusão da resposta antes de abrir o fórum. O elemento que gerou o erro 1004 era o nome das tabelas criadas. Descobri que existe uma limitação no tamanho (31 caracteres), e alguns nomes possuíam mais caracteres que o permitido. Fiz a alteração no valor das células, e agora o código funcionou bem