Olá pessoal,
O Código abaixo está funcionando quando eu escolho o arquivo csv necessário para atualizar, porém se o usuário cancelar a importação aparece a seguinte mensagem:
Erro 1004
O Excel não pode localizar o arquivo de texto para atualizar esse intervalo de dados externos.
Certifique-se de que o arquivo de texto não tenha sido movido ou renomeado e, em seguida, tente a atualização novamente.
Depura o seguinte:
.Refresh BackgroundQuery:=False
Alguém sabe o que pode ser? Além disso, quando eu cancelo a importação, a planilha fica ativa na aba "dados", queria que sempre ficasse ativa na aba "início", pois a aba dados é oculta ao usuário.
Segue código:
Option Explicit
Sub BuscarCSV()
Application.ScreenUpdating = False
'Deletar Valores Anteriores
Sheets("Dados").Select
Cells.Clear
Dim Caminho As Variant
Sheets("Dados").Select
'Escolha qual planilha
Caminho = Application.GetOpenFilename
'Importa
With ActiveSheet.QueryTables.Add(Connection:= _
"TEXT;" & Caminho, Destination:=Range("$A$1"))
'.CommandType = 0
'.Name = "Teste"
.FieldNames = True
.RowNumbers = False
.FillAdjacentFormulas = False
.PreserveFormatting = True
.RefreshOnFileOpen = False
.RefreshStyle = xlInsertDeleteCells
.SavePassword = False
.SaveData = True
.AdjustColumnWidth = True
.RefreshPeriod = 0
.TextFilePromptOnRefresh = False
.TextFilePlatform = 1252
.TextFileStartRow = 1
.TextFileParseType = xlDelimited
.TextFileTextQualifier = xlTextQualifierDoubleQuote
.TextFileConsecutiveDelimiter = True
.TextFileTabDelimiter = False
.TextFileSemicolonDelimiter = False
.TextFileCommaDelimiter = False
.TextFileSpaceDelimiter = False
.TextFileOtherDelimiter = ";"
.TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1)
.TextFileTrailingMinusNumbers = True
.Refresh BackgroundQuery:=False
Sheets("Inicio").Select
Application.ScreenUpdating = True
End With
End Sub
Postado : 11/04/2018 3:42 pm