none
Copiar dados de uma olanilha, ignorando as linhas vazias RRS feed

  • Pergunta

  • Ola pessoal

    Estou com um problema no export da minha planilha em arquivo texto(no caso .csv), o texto é enviado perfeitamente para o arquivo csv mas as linha vazias (que contem formulas) sao consideradas

    Nesse exemplo eu tenho 22 linhas com formulas, e o arquivo salvo CSV possui o texto , mais as linhas "vazias", como fazer para que o export nao considere as linhas sem conteudo ?

        Set NewUser = Worksheets("NEW USER")
     
          
        NombreArchivo = "partition"
        RutaArchivo = Repertoire & "\" & NombreArchivo & ".csv"

        
        Set Ht = Worksheets("PARTITION")
        Set obj = New FileSystemObject
        Set tx = obj.CreateTextFile(RutaArchivo)

        
          '--------------------------------------------------
            'Regles pour le EXPORT ANALOG PHONES
            
            
        nColumnas = Ht.Range("A1", Ht.Range("A1").End(xlToRight)).Cells.Count
        nFilas = Ht.Range("A2", Ht.Range("A2").End(xlDown)).Cells.Count
        
     
     



     
      For i = 1 To nFilas
      For j = 1 To nColumnas
     
                
                    
                    tx.Write Ht.Cells(i + 1, j).Value
                
                    If j < nColumnas Then tx.Write ""
                
                
            Next j
     
            tx.WriteLine
     
        Next i

           
        tx.Close

    O resultado do meu arquivo txt é esse (-----linha vazia------ no meio das duas linhas):

    NAME,DESCRIPTION,TIME SCHEDULE,SPECIFIC TIME ZONE,ORIGINATING DEVICE
    FR-BDDF-Site-99999999-PLAR-Urgence,FR-BDDF-Site-99999999-PLAR-Urgence,,Etc/GMT,
    -----linha vazia------
    FR-BDDF-Site-88888888-PLAR-Urgence,FR-BDDF-Site-88888888-PLAR-Urgence,,Etc/GMT,
















    quarta-feira, 12 de fevereiro de 2020 10:06

Todas as Respostas

  • Oi, tudo bem?

    Antes de escrever, verifique se o valor da célula é diferente de vazio. Exemplo:

        For i = 1 To nFilas
            For j = 1 To nColumnas

                if Ht.Cells(i + 1, j).Value <> "" then
                    tx.Write Ht.Cells(i + 1, j).Value
                end if

                If j < nColumnas Then tx.Write ""

            Next j

            tx.WriteLine

        Next i


    quinta-feira, 13 de fevereiro de 2020 15:21