Ir para conteúdo
Fórum Script Brasil
  • 0

Porque Demora Este Código?


Gladisson

Pergunta

Tenho esse código para fazer relacionamentos entre algumas linhas e colunas, mais ele quando é executado ele demorar uns 5 segunsdos para que eu possa escrever outra coisa na panilha, porque essa demora? alguém sabe alguma solução?

Private Sub Worksheet_Change(ByVal Target As Range)

Call Teste

End Sub

Function Teste()

On Error GoTo TrataErro

 

'*********************************************************

If Range("A8") = 1 Then

R1 = "B"

End If

If Range("A8") = 2 Then

R1 = "C"

End If

If Range("A8") = 3 Then

R1 = "D"

End If

If Range("A8") = 4 Then

R1 = "E"

End If

If Range("A8") = 5 Then

R1 = "F"

End If

If Range("A8") = 6 Then

R1 = "G"

End If

'*********************************************************

If Range("B8") = 1 Then

R2 = "2"

End If

If Range("B8") = 2 Then

R2 = "3"

End If

If Range("B8") = 3 Then

R2 = "4"

End If

If Range("B8") = 4 Then

R2 = "5"

End If

If Range("B8") = 5 Then

R2 = "6"

End If

Range("D8") = Range(R1 + R2)

TrataErro:

        'Em caso de erro, não faz nada

End Function

Link para o comentário
Compartilhar em outros sites

1 resposta a esta questão

Posts Recomendados

  • 0
Tenho esse código para fazer relacionamentos entre algumas linhas e colunas, mais ele quando é executado ele demorar uns 5 segunsdos para que eu possa escrever outra coisa na panilha, porque essa demora? alguém sabe alguma solução?

Private Sub Worksheet_Change(ByVal Target As Range)

Call Teste

End Sub

Function Teste()

On Error GoTo TrataErro

 

'*********************************************************

If Range("A8") = 1 Then

R1 = "B"

End If

If Range("A8") = 2 Then

R1 = "C"

End If

If Range("A8") = 3 Then

R1 = "D"

End If

If Range("A8") = 4 Then

R1 = "E"

End If

If Range("A8") = 5 Then

R1 = "F"

End If

If Range("A8") = 6 Then

R1 = "G"

End If

'*********************************************************

If Range("B8") = 1 Then

R2 = "2"

End If

If Range("B8") = 2 Then

R2 = "3"

End If

If Range("B8") = 3 Then

R2 = "4"

End If

If Range("B8") = 4 Then

R2 = "5"

End If

If Range("B8") = 5 Then

R2 = "6"

End If

Range("D8") = Range(R1 + R2)

TrataErro:

         'Em caso de erro, não faz nada

End Function

Não deveria demorar, será que não é a máquina?, tente utilizar o Select Case então.

Abraços,

Lisandro Oliviera

Link para o comentário
Compartilhar em outros sites

Participe da discussão

Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.

Visitante
Responder esta pergunta...

×   Você colou conteúdo com formatação.   Remover formatação

  Apenas 75 emoticons são permitidos.

×   Seu link foi incorporado automaticamente.   Exibir como um link em vez disso

×   Seu conteúdo anterior foi restaurado.   Limpar Editor

×   Você não pode colar imagens diretamente. Carregar ou inserir imagens do URL.



  • Estatísticas dos Fóruns

    • Tópicos
      152,1k
    • Posts
      651,8k
×
×
  • Criar Novo...