none
AJUDA COM COMO PARAR COM A TROCA DE ABAS RRS feed

  • Pergunta

  • Olá Bom dia!

    Ultimamente estou ajeitando alguns excels, para terem uma aparência "melhor", porém o que ocorre neste que estou parado?

     

    "

    Sub Salvar_Notas()
    Dim Nota As Double
    Dim Lugar As String
    Dim Tomador As String
    Dim Vencimento As Date
    Dim Emissão As Date
    Dim Total As Double
    Dim UltimaCel As Integer


     Nota = Range("A2").Value
     Lugar = Range("B2").Value
     Tomador = Range("C2").Value
     Emissão = Range("D2").Value
     Vencimento = Range("E2").Value
     Total = Range("F2").Value

    Sheets("Relatório").Select

    UltimaCel = Range("A1048576").End(xlUp).Row + 1

    Range("A" & UltimaCel).Value = Data
     Range("B" & UltimaCel).Value = Lugar
     Range("C" & UltimaCel).Value = Tomador
     Range("D" & UltimaCel).Value = Emissão
     Range("E" & UltimaCel).Value = Vencimento
     Range("F" & UltimaCel).Value = Total

    Sheets("Nota").Select
    Range("A2").Value = Range("M13").Value + 1
    Range("B2").Value = ""
    Range("C2").Value = ""
    Range("D2").Value = ""
    Range("F2").Value = ""
    MsgBox "Gravado com sucesso"
    End Sub

    "

    Este é o código, é um bem simples e fácil, porém o que ocorre, toda vez ele é salvo, mostra uma "trocação" de abas que visualmente não é saudável para empresa, alguém me ajuda?

    Obrigado,

    Vinicius Okamoto

    segunda-feira, 4 de setembro de 2017 18:53

Respostas

  • Vinícius,

    para impedir a atualização da tela durante a execução de uma macro, e de quebra torná-la mais rápida, basta utilizar no começo do código:

    Application.ScreenUpdating = False

    E no final:

    Application.ScreenUpdating = True

    Aproveitando o post, uma dica útil é que muitas operações dispensam a ação "Selecionar" antes de ser executada e isto acarreta quase sempre em ganho de desempenho. Este é o caso da sugestão acima, onde basta endereçar corretamente o local desejado, evitando a mudança das abas.

    De toda forma, eu sempre aconselho desabilitar a atualização da tela, a menos que seja imprescindível mantê-la ativada.

    Abraço.


    Filipe Magno

    quinta-feira, 7 de setembro de 2017 01:42

Todas as Respostas

  • Sub Salvar_Notas()
    Dim Nota As Double
    Dim Lugar As String
    Dim Tomador As String
    Dim Vencimento As Date
    Dim Emissão As Date
    Dim Total As Double
    Dim UltimaCel As Integer
    
    
     Nota = Range("A2").Value
     Lugar = Range("B2").Value
     Tomador = Range("C2").Value
     Emissão = Range("D2").Value
     Vencimento = Range("E2").Value
     Total = Range("F2").Value
    
    
    
    UltimaCel = Sheets("Relatório").Range("A1048576").End(xlUp).Row + 1
    
    Sheets("Relatório").Range("A" & UltimaCel).Value = Data
     Sheets("Relatório").Range("B" & UltimaCel).Value = Lugar
     Sheets("Relatório").Range("C" & UltimaCel).Value = Tomador
     Sheets("Relatório").Range("D" & UltimaCel).Value = Emissão
     Sheets("Relatório").Range("E" & UltimaCel).Value = Vencimento
     Sheets("Relatório").Range("F" & UltimaCel).Value = Total
    
    
    Sheets("Nota").Range("A2").Value = Range("M13").Value + 1
    Sheets("Nota").Range("B2").Value = ""
    Sheets("Nota").Range("C2").Value = ""
    Sheets("Nota").Range("D2").Value = ""
    Sheets("Nota").Range("F2").Value = ""
    MsgBox "Gravado com sucesso"
    End Sub


    Anderson Diniz

    • Sugerido como Resposta AndersonFDiniz2 terça-feira, 5 de setembro de 2017 03:23
    terça-feira, 5 de setembro de 2017 03:21
  • Em todos os lugares que tiver "Range", coloque o nome da planilha antes.

    Anderson Diniz

    terça-feira, 5 de setembro de 2017 03:23
  • Vinícius,

    para impedir a atualização da tela durante a execução de uma macro, e de quebra torná-la mais rápida, basta utilizar no começo do código:

    Application.ScreenUpdating = False

    E no final:

    Application.ScreenUpdating = True

    Aproveitando o post, uma dica útil é que muitas operações dispensam a ação "Selecionar" antes de ser executada e isto acarreta quase sempre em ganho de desempenho. Este é o caso da sugestão acima, onde basta endereçar corretamente o local desejado, evitando a mudança das abas.

    De toda forma, eu sempre aconselho desabilitar a atualização da tela, a menos que seja imprescindível mantê-la ativada.

    Abraço.


    Filipe Magno

    quinta-feira, 7 de setembro de 2017 01:42
  • Muito bom! Obrigado!
    terça-feira, 26 de setembro de 2017 16:35