Jump to content
Fórum Script Brasil
  • 0

Porque Demora Este Código?


Question

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 to post
Share on other sites

1 answer to this question

Recommended Posts

  • 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 to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Answer this question...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Cloud Computing


  • Forum Statistics

    • Total Topics
      148691
    • Total Posts
      644531
×
×
  • Create New...