Ir ao conteúdo

Posts recomendados

Postado

Bom dia

 

Tem um código de VBA excel. Ele roda direito.

 

O problema que quando tento mover a seleção entre as células usando as setas, ele trava como se tivesse bloqueado.

 

 

Como devo proceder.

 

Postado

Private Sub CMD_OK_Click()
If ComboBox1 = Empty And ComboBox3 = Empty And ComboBox2 = Empty And ComboBox4 = Empty And OPT_GERAL = False Then

MsgBox "Escolha uma opção", vbInformation
Else

        Dim EncontraString As String
        Dim Intervalo As Range
        
        Sheets("GERAL").Visible = True
        
        If OPT_MASTER = True And ComboBox1 <> Empty Then
        ' ******* PARCEIRO *******
            If CHK_FANTASIA = True Then
            PDV = Right(ComboBox1, 7)
            EncontraString = PDV
                If Trim(EncontraString) <> "" Then
                With Sheets("GERAL").Range("A:A")
                    Set Intervalo = .Find(What:=EncontraString, _
                                          After:=.Cells(1), _
                                          LookIn:=xlValues, _
                                          LookAt:=xlWhole, _
                                         SearchOrder:=xlByRows, _
                                         SearchDirection:=xlPrevious, _
                                         MatchCase:=False)
                    If Not Intervalo Is Nothing Then
                        Application.Goto Intervalo, True
                    '******************
                    N_SIRIUS = ActiveCell.Offset(0, 2)
                    N_REABERTURA = ActiveCell.Offset(0, 3)
                    N_REVISITA = ActiveCell.Offset(0, 4)
                    N_TROCA = ActiveCell.Offset(0, 5)
                    N_CAPACITAÇÃO = ActiveCell.Offset(0, 6)
                    
                    Sheets("BASE").Range("L8") = N_SIRIUS
                    Sheets("BASE").Range("O8") = N_TROCA
                    Sheets("BASE").Range("R8") = N_REABERTURA
                    Sheets("BASE").Range("U8") = N_REVISITA
                    Sheets("BASE").Range("AA8") = N_CAPACITAÇÃO
                    Unload FRM_MASTER
                    Sheets("GRAFICO").Select
                    Range("G3") = OPT_MASTER.Caption
                    Range("K3") = ComboBox1
                    Else
                    MsgBox "Sem informação sobre a Empresa", vbInformation
                    End If
                End With
            End If
                
        ElseIf CHK_PDV Then
            PDV = Left(ComboBox1, 7)
            
                EncontraString = PDV
                If Trim(EncontraString) <> "" Then
                With Sheets("GERAL").Range("A:A")
                    Set Intervalo = .Find(What:=EncontraString, _
                                          After:=.Cells(1), _
                                          LookIn:=xlValues, _
                                          LookAt:=xlWhole, _
                                         SearchOrder:=xlByRows, _
                                         SearchDirection:=xlPrevious, _
                                         MatchCase:=False)
                    If Not Intervalo Is Nothing Then
                        Application.Goto Intervalo, True
                    '******************
                    N_SIRIUS = ActiveCell.Offset(0, 2)
                    N_REABERTURA = ActiveCell.Offset(0, 3)
                    N_REVISITA = ActiveCell.Offset(0, 4)
                    N_TROCA = ActiveCell.Offset(0, 5)
                    N_CAPACITAÇÃO = ActiveCell.Offset(0, 6)
                    
                    Sheets("BASE").Range("L8") = N_SIRIUS
                    Sheets("BASE").Range("O8") = N_TROCA
                    Sheets("BASE").Range("R8") = N_REABERTURA
                    Sheets("BASE").Range("U8") = N_REVISITA
                    Sheets("BASE").Range("AA8") = N_CAPACITAÇÃO
                    Unload FRM_MASTER
                    Sheets("GRAFICO").Select
                    Range("G3") = OPT_MASTER.Caption
                    Range("K3") = ComboBox1
                    Else
                    MsgBox "Sem informação sobre a Empresa", vbInformation
                    End If
                End With
            End If
            
            
            End If
        
        
        ElseIf OPT_CONSULTOR = True And ComboBox3 <> Empty Then
        Application.DisplayAlerts = False
            Sheets("GERAL").Activate
            Rows("1:1").Select
            Selection.AutoFilter
            ActiveSheet.Range("$A$1:$Microsoft50000").AutoFilter Field:=12, Criteria1:= _
                ComboBox3
            Range("L50000").Select
            Selection.End(xlUp).Select
            Range(Selection, "A1").Select
            Selection.Copy
            Sheets.Add After:=ActiveSheet
            PLAN02 = ActiveSheet.Name
            ActiveSheet.Paste
            Range("C50000").Select
            Selection.End(xlUp).Select
            ActiveCell.Offset(1, 0).Select
            LINHA = 2
            POSIÇÃO = ActiveCell.Row
            'Application.CutCopyMode = False
            X = LINHA - POSIÇÃO
            ActiveCell.FormulaR1C1 = "=AVERAGE(R[" & X & "]C:R[-1]C)"
            ActiveCell.Offset(0, 1).Select
            ActiveCell.FormulaR1C1 = "=AVERAGE(R[" & X & "]C:R[-1]C)"
            ActiveCell.Offset(0, 1).Select
            ActiveCell.FormulaR1C1 = "=AVERAGE(R[" & X & "]C:R[-1]C)"
            ActiveCell.Offset(0, 1).Select
            ActiveCell.FormulaR1C1 = "=AVERAGE(R[" & X & "]C:R[-1]C)"
            ActiveCell.Offset(0, 1).Select
            ActiveCell.FormulaR1C1 = "=AVERAGE(R[" & X & "]C:R[-1]C)"
            
            Sheets("GERAL").Activate
            Selection.AutoFilter
            
            Sheets(PLAN02).Activate
            Range("C50000").Select
            Selection.End(xlUp).Select
            V = ActiveCell.Row
            Range(Cells(V, 3), Cells(V, 7)).Select
            Selection.Copy
            Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                :=False, Transpose:=False
                
            '******************
                    N_SIRIUS = Cells(V, 3)
                    N_REABERTURA = Cells(V, 4)
                    N_REVISITA = Cells(V, 5)
                    N_TROCA = Cells(V, 6)
                    N_CAPACITAÇÃO = Cells(V, 7)
                    
                    Sheets("BASE").Range("L8") = N_SIRIUS
                    Sheets("BASE").Range("O8") = N_TROCA
                    Sheets("BASE").Range("R8") = N_REABERTURA
                    Sheets("BASE").Range("U8") = N_REVISITA
                    Sheets("BASE").Range("AA8") = N_CAPACITAÇÃO
            Sheets(PLAN02).Select
            ActiveWindow.SelectedSheets.Delete
            Unload FRM_MASTER
            Sheets("GRAFICO").Select
            Range("G3") = OPT_CONSULTOR.Caption
            Range("K3") = ComboBox3
            Application.DisplayAlerts = True
            
            
        ElseIf OPT_REG = True And ComboBox2 <> Empty Then
        Application.DisplayAlerts = False
            Sheets("GERAL").Activate
            Rows("1:1").Select
            Selection.AutoFilter
            ActiveSheet.Range("$A$1:$Microsoft50000").AutoFilter Field:=11, Criteria1:= _
                ComboBox2
            Range("L50000").Select
            Selection.End(xlUp).Select
            Range(Selection, "A1").Select
            Selection.Copy
            Sheets.Add After:=ActiveSheet
            PLAN02 = ActiveSheet.Name
            ActiveSheet.Paste
            Range("C50000").Select
            Selection.End(xlUp).Select
            ActiveCell.Offset(1, 0).Select
            LINHA = 2
            POSIÇÃO = ActiveCell.Row
            'Application.CutCopyMode = False
            X = LINHA - POSIÇÃO
            ActiveCell.FormulaR1C1 = "=AVERAGE(R[" & X & "]C:R[-1]C)"
            ActiveCell.Offset(0, 1).Select
            ActiveCell.FormulaR1C1 = "=AVERAGE(R[" & X & "]C:R[-1]C)"
            ActiveCell.Offset(0, 1).Select
            ActiveCell.FormulaR1C1 = "=AVERAGE(R[" & X & "]C:R[-1]C)"
            ActiveCell.Offset(0, 1).Select
            ActiveCell.FormulaR1C1 = "=AVERAGE(R[" & X & "]C:R[-1]C)"
            ActiveCell.Offset(0, 1).Select
            ActiveCell.FormulaR1C1 = "=AVERAGE(R[" & X & "]C:R[-1]C)"
            
            Sheets("GERAL").Activate
            Selection.AutoFilter
            
            Sheets(PLAN02).Activate
            Range("C50000").Select
            Selection.End(xlUp).Select
            V = ActiveCell.Row
            Range(Cells(V, 3), Cells(V, 7)).Select
            Selection.Copy
            Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
                :=False, Transpose:=False
                
            '******************
                    N_SIRIUS = Cells(V, 3)
                    N_REABERTURA = Cells(V, 4)
                    N_REVISITA = Cells(V, 5)
                    N_TROCA = Cells(V, 6)
                    N_CAPACITAÇÃO = Cells(V, 7)
                    
                    Sheets("BASE").Range("L8") = N_SIRIUS
                    Sheets("BASE").Range("O8") = N_TROCA
                    Sheets("BASE").Range("R8") = N_REABERTURA
                    Sheets("BASE").Range("U8") = N_REVISITA
                    Sheets("BASE").Range("AA8") = N_CAPACITAÇÃO
            Sheets(PLAN02).Select
            ActiveWindow.SelectedSheets.Delete
            Unload FRM_MASTER
            Sheets("GRAFICO").Select
            Range("G3") = OPT_REG.Caption
            Range("K3") = ComboBox2
            Application.DisplayAlerts = True
            
            
            
            
            
        End If
        
        Sheets("GERAL").Visible = False
        Sheets("GRAFICO").Select
                    For i = 1 To 5
                    ActiveSheet.Shapes.Range(Array("Picture " & i + 31)).Visible = False
                    Next
                    If Sheets("BASE").Range("X9") >= 9 Then
                    For i = 1 To 5
                    ActiveSheet.Shapes.Range(Array("Picture " & i + 31)).Visible = True
                    Next
                    ElseIf Sheets("BASE").Range("X9") >= 7 Then
                    For i = 1 To 4
                    ActiveSheet.Shapes.Range(Array("Picture " & i + 31)).Visible = True
                    Next
                    ElseIf Sheets("BASE").Range("X9") >= 5 Then
                    For i = 1 To 3
                    ActiveSheet.Shapes.Range(Array("Picture " & i + 31)).Visible = True
                    Next
                    ElseIf Sheets("BASE").Range("X9") >= 3 Then
                    For i = 1 To 2
                    ActiveSheet.Shapes.Range(Array("Picture " & i + 31)).Visible = True
                    Next
                    ElseIf Sheets("BASE").Range("X9") >= 1 Then
                    For i = 1 To 1
                    ActiveSheet.Shapes.Range(Array("Picture " & i + 31)).Visible = True
                    Next
                    ElseIf Sheets("BASE").Range("X9") = 0 Then
                    For i = 1 To 5
                    ActiveSheet.Shapes.Range(Array("Picture " & i + 31)).Visible = False
                    Next
                    End If
Application.DisplayAlerts = True
Sheets("GRAFICO").enable = True
End If

End Sub

adicionado 4 minutos depois

@Kelvim

 

Eu testei colocar o comando para selecionar a plan no final do codigo e funcionou 
ele parou de travar a movimentação.
ele não estava deixando movimentar com o cursor.

valeu

adicionado 7 minutos depois

@Kelvim

 

Coloquei dentro do botão a opção de selecionar a plan.


E voltou a travar 
ele não deixar navegar.

Acredito que alguma parte do codigo esteja travando a plan para as setas navegarem 

 

Crie uma conta ou entre para comentar

Você precisa ser um usuário para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar agora

Sobre o Clube do Hardware

No ar desde 1996, o Clube do Hardware é uma das maiores, mais antigas e mais respeitadas comunidades sobre tecnologia do Brasil. Leia mais

Direitos autorais

Não permitimos a cópia ou reprodução do conteúdo do nosso site, fórum, newsletters e redes sociais, mesmo citando-se a fonte. Leia mais

×
×
  • Criar novo...

LANÇAMENTO!

eletronica2025-popup.jpg


CLIQUE AQUI E BAIXE AGORA MESMO!