Como exportar colunas selecionadas para o arquivo csv

24

Quero exportar um número específico de colunas do excel para o arquivo .csv. Eu tenho cerca de 10 colunas, como lname, fname, phone, address, emaile assim por diante. O que devo fazer para exportar apenas determinadas colunas como lname, emailetc.?

raul
fonte

Respostas:

23

Basta fazer de maneira simples: -

  1. Aplicar concatenação para 10 colunas

    =CONCATENATE(A1,",",B1,",",C1,",",D1,",",E1,",",F1,",",G1,",",H1,",",I1,",",J1)
    
  2. Arraste para baixo o final da lista da sua última linha

  3. Copie a coluna de resultados
  4. Cole-o no bloco de notas
  5. Salve-o como .csvformato de arquivo
Siva Charan
fonte
CONCATENATE funcionou muito bem para mim. Muito obrigado.
Nedim Šabić
3
Simples ... a menos que uma citação dupla possa ser encontrada em qualquer uma de suas colunas ...
bispo
Você não precisa separar elementos concatenados com ponto e vírgula? = CONCATENATE (A1; ","; B1; ","; C1; ","; D1; ","; E1; ","; F1; ","; G1; ","; H1; "," ; I1; ","; J1)
mabho
9

Selecione a primeira coluna que você deseja. Em seguida, enquanto mantém pressionado <Ctrl>, selecione as colunas restantes que você deseja. Copie sua seleção e cole-a em uma nova pasta de trabalho. Salve a nova pasta de trabalho como um arquivo .csv.

Se você fizer isso com freqüência, grave uma macro de suas etapas. Aqui está a macro gravada no meu teste. No meu exemplo, a coluna A é Nome e a coluna E é Email. Também modifiquei a macro para que o nome do arquivo SaveAs inclua a data atual.


Eu mostraria uma macro de exemplo, mas, por qualquer motivo, ocorrerá um erro de superusuário ao clicar em Salvar edições. Vou tentar novamente mais tarde.

mischab1
fonte
4

Aqui está uma solução de baixa tecnologia:

  1. Salve uma cópia de toda a planilha como .csv.
  2. Enquanto ainda estiver aberto no Excel, exclua as colunas que você não deseja.
  3. Salve .
Excellll
fonte
3

Eu escrevi minha própria solução VBA para isso como um suplemento; está disponível aqui no GitHub.

Exemplo de visualização (clique na imagem para uma versão ampliada):

Captura de tela do formulário da ferramenta

As etapas de uso são:

  • Instale o suplemento
  • Carregar o formulário ( Ctrl+ Shift+ Cestá atualmente atribuído para mostrar o formulário)
  • Destaque o intervalo que você deseja exportar
  • Selecione a pasta de exportação
  • Digite o nome do arquivo, formato numérico e separador desejados
  • Escolha se deseja acrescentar ou substituir
  • Clique em 'Exportar'

O formulário não tem modelo, portanto, você pode deixá-lo aberto enquanto seleciona intervalos diferentes ou navega de folha em folha ou pasta de trabalho para pasta de trabalho. Observe que o "símbolo de arroba" ( @) serve como uma representação do formato de número 'Geral' do Excel para operações de saída como essa.

Conteúdo do C:\test.csvexemplo acima:

13,14,15
14,15,16
15,16,17
hBy2Py
fonte
1

Se você abrir o arquivo no Editor de Ron, poderá ocultar as colunas que não deseja e, em seguida, exporte a 'visualização' resultante como um arquivo do Excel ou qualquer outro formato. Melhor ainda, você pode salvar a visualização para uso futuro. Muito rápido, muito fácil.

Jedy
fonte
1

Mais uma solução:

  1. Selecione as células que você deseja exportar
  2. Coloque uma tabela em volta das células (por exemplo, pressione Control + T no Windows)
  3. Execute a macro ExportTable

Salva a tabela na planilha ativa como um novo CSV (abrindo uma nova pasta de trabalho e salvando a partir daí, usando o nome da tabela como o nome do arquivo).

bispo
fonte
1
Sub ExportSelectionAsCSV()
    ' MS Excel 2007
    ' Visual Basic for Applications
    '
    ' Copies the selected rows & columns
    ' to a new Excel Workbook. Saves the new 
    ' Workbook as Comma Separated Value (text) file.
    '
    ' The active workbook (the 'invoking' workbook - the 
    ' one that is active when this subroutine is called) 
    ' is unaffected.
    '
    ' Before returning from the subroutine, the invoking workbook
    ' is "set back to" (restored as) the active workbook.
    '
    ' Note: target filename is hard coded (code is simpler that way)

    ' Suspends screen updating (until ready to return)
    ' Warning: ScreenUpdating MUST be re-enabled before
    ' returning from this subroutine.
    '
    ' Note: Step through this subroutine line-by-line to prove
    ' to yourself that it is performing as promised.
    ' (Please step through the code at least once - use F8)
    Application.ScreenUpdating = False

    ' Gets the name of *this (the invoking) workbook
    ' so *this workbook can again be set active
    ' at the end of this subroutine.
    Dim CurrentFileName As String
    CurrentFileName = ActiveWorkbook.Name
    Debug.Print "Active File: " + CurrentFileName

    ' Copies the selected cells (to the clipboard).
    ' Precondition: Cells must be selected before 
    ' calling this subroutine.
    Selection.Copy

    ' Instantiates a (new) object instance of type Excel workbook.
    ' Side-effect: The new workbook instance is now
    ' the 'active' workbook. 
    Workbooks.Add Template:="Workbook"

    ' Selects the first cell of the 
    ' first worksheet of the new workbook.
    Range("A1").Select

    ' Pastes the clipboard contents to the new worksheet
    ' (of the new workbook)
    ActiveSheet.Paste

    ' Writes the new (active) Excel workbook to file.
    ' The format is Comma Separated Value
    ActiveWorkbook.SaveAs Filename:= _
    "C:\temp\data.csv" _
    , FileFormat:=xlCSV, _
    CreateBackup:=False

    ' Gets the filename of the new (active) workbook
    ' so the name can be logged.
    Dim NewFileName As String
    NewFileName = ActiveWorkbook.Name
    Debug.Print "Active File: " + NewFileName

    ' Closes the new CSV file
    Application.DisplayAlerts = False
    ActiveWorkbook.Close
    Application.DisplayAlerts = True

    ' Clears the clipboard contents.
    Application.CutCopyMode = False

    ' Restores the invoking workbook as the active
    ' Excel workbook. 
    Workbooks(CurrentFileName).Activate
    Range("A1").Select

    ' Re-Enables Excel screen display.
    Application.ScreenUpdating = True
End Sub
Lyle S.
fonte