Notifications
Clear all

Não mostrar aba ao rodar VBA (Aba das informações)

5 Posts
2 Usuários
0 Reactions
977 Visualizações
(@diogodvd)
Posts: 35
Eminent Member
Topic starter
 

Olá pessoal,

Estou rodando o código abaixo de importação de txt, na qual importa para a aba "VEND6000", porém a partir do momento que eu escolho o arquivo, a planilha fica ativa na aba vend6000, gostaria que ficasse ativa na aba Inicio (capa), ou seja, a aba vend6000 não pode aparecer em momento algum quando rodo o vba, pois só tem números, e fica estranho quando o usuário está na capa do arquivo e quando vai importar aparece um monte de números...rsr :)

Tem como fazer isto?

Sub import_pv()

' import_pv Macro

'Deletar Valores Anteriores
    Sheets("VEND6000").Select
    Cells.Clear


    Sheets("VEND6000").Select
    'Escolha qual planilha
    Caminho = Application.GetOpenFilename
    
       If Caminho = False Then
           MsgBox "Nada Selecionado"
           Worksheets("Inicio").Activate
           Exit Sub
       End If
       
    'Importa
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;" & Caminho, Destination:=Range("$A$1"))
      
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 850
        .TextFileStartRow = 1
        .TextFileParseType = xlFixedWidth
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1)
        .TextFileFixedColumnWidths = Array(5, 6, 14, 23, 10, 14, 20, 15, 15, 15, 13)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
    ActiveWindow.SmallScroll Down:=-2
    
    Sheets("inicio").Select
End Sub
 
Postado : 20/04/2018 9:10 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

diogodvd,

Boa tarde!

Acho que assim resolve. Não testei...

Sub import_pv()
Application.ScreenUpdate = False
' import_pv Macro

'Deletar Valores Anteriores
    Sheets("VEND6000").Select
    Cells.Clear


    Sheets("VEND6000").Select
    'Escolha qual planilha
    Caminho = Application.GetOpenFilename
   
       If Caminho = False Then
           MsgBox "Nada Selecionado"
           Worksheets("Inicio").Activate
           Exit Sub
       End If
       
    'Importa
    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;" & Caminho, Destination:=Range("$A$1"))
     
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = True
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 850
        .TextFileStartRow = 1
        .TextFileParseType = xlFixedWidth
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1, 1, 2, 2, 2, 2, 1, 1, 1, 1, 1, 1)
        .TextFileFixedColumnWidths = Array(5, 6, 14, 23, 10, 14, 20, 15, 15, 15, 13)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
    ActiveWindow.SmallScroll Down:=-2
   
    Sheets("inicio").Select
    Application.ScreenUpdate = True
End Sub

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 20/04/2018 9:20 am
(@diogodvd)
Posts: 35
Eminent Member
Topic starter
 

Oi Wagner, muito obrigado, deu erro de execução aqui (438 - o objeto não aceita esta propriedade ou método).

Dai dei um pesquisada sobre o screen update e mude para "Application.ScreenUpdating = False.... e no final True.... Creio que só a terminologia de Update para Updating estava incorreta né?

Mas deu certo aqui, muito obrigado. Abração

 
Postado : 20/04/2018 9:39 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

diogodvd,

realmente você tem razão! É porque escrevi muito rápido pois estava de saída para uma reunião...

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 20/04/2018 10:22 am
(@diogodvd)
Posts: 35
Eminent Member
Topic starter
 

imagina wagner, muito obrigado, ajudou demais. abs

 
Postado : 20/04/2018 1:57 pm