Notifications
Clear all

Importação .csv

6 Posts
2 Usuários
0 Reactions
1,408 Visualizações
(@trindade)
Posts: 0
New Member
Topic starter
 

Boa noite, a todos do Fórum.

Encontrei um código aqui no Fórum que faz a importação de arquivo .csv onde fui incrementar mas não foi bem sucedido o incremento, e gostaria de uma ajuda dos senhores.

O código esta funcionando normal, quando executo está abrindo a tela pra selecionar o arquivo normalmente, depois que seleciono o arquivo e clico em abrir esta dando erro na linha que inserir para conter o cancelar caso não selecione nenhum arquivo.
Linha: If Arquivo = False Then Exit Sub

Sub Importar_csv()
    
Dim Campos As Variant
Dim Arquivo As String
Dim i As Long, j As Long
    
    'Contador de linhas
    i = 2
    'abre um "mini" explorer de arquivos
    Arquivo = Application.GetOpenFilename(FileFilter:="Arquivos Texto(*.csv), *.csv", Title:="Escolha um arquivo de Texto com extensão .csv")
    
    If Arquivo = False Then Exit Sub
    
    'abre o arquivo texto
    Open Arquivo For Input As #1
    'Enquanto não chega ao fim do arquivo
    While Not (EOF(1))
        'Captura 1 linha e armazena na variável Linha
        Line Input #1, linha
        'separa os campos e armazena na variável "Campos"
        Campos = Split(linha, ";")
        'Distribui os campos na planilha
        For j = 0 To UBound(Campos)
            Plan3.Cells(i, j + 1).Value = Campos(j)
        Next
        'incrementa uma linha
        i = i + 1
    Wend
    'fecha o arquivo texto
    Close #1
    MsgBox "Fim de execução da macro"
    
End Sub

Gostaria de uma ajuda dos senhores.

 
Postado : 08/01/2015 6:30 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Mude a linha para

If Arquivo = "" Then Exit Sub

, talvez resolva.

Caso contrário coloque a como comentário

Att

 
Postado : 08/01/2015 6:37 pm
(@trindade)
Posts: 0
New Member
Topic starter
 

Boa noite, alexandrevba.

Se mudar pra vazio ou comentar a linha o problema e quando eu clico no cancelar a importação, estou tentando conter esse erro.

Se manter a linha assim:

If Arquivo = False Then Exit Sub

Contem o erro do cancelar mas não importar

Se manter a linha assim:

If Arquivo = "" Then Exit Sub

Importar o arquivo mas não contem o erro do cancelar

 
Postado : 08/01/2015 7:07 pm
(@trindade)
Posts: 0
New Member
Topic starter
 

Boa noite, alexandrevba

Consegui conter o erro.

Mudei a linha

If Arquivo = False Then Exit Sub

Para

If LCase(Arquivo) = "falso" Then Exit Sub

Mais uma vez obrigado, pela ajuda.

 
Postado : 08/01/2015 7:27 pm
(@fernandofernandes)
Posts: 43750
Illustrious Member
 

Boa noite!!

Já tentou algo assim?

On Error Resume Next

Fonte:
http://www.cpearson.com/excel/errorhandling.htm

Att

 
Postado : 08/01/2015 7:40 pm
(@trindade)
Posts: 0
New Member
Topic starter
 

Bom dia, alexandrevba.

Eu tinha tentado em um arquivo novo o

On Error Resume Next

Mas ele começou a processar e ficou como não respondendo e matou meu Excel, ai desisti e parti para outras soluções.

Muito bacana o site com a formas de conter erros, vou estudar um poucos os códigos.

E mais uma vez obrigado !!!

 
Postado : 09/01/2015 6:27 am