Respostas:
Basta fazer de maneira simples: -
Aplicar concatenação para 10 colunas
=CONCATENATE(A1,",",B1,",",C1,",",D1,",",E1,",",F1,",",G1,",",H1,",",I1,",",J1)
Arraste para baixo o final da lista da sua última linha
.csv
formato de arquivoSelecione 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.
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):
As etapas de uso são:
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.csv
exemplo acima:
13,14,15
14,15,16
15,16,17
Você pode fazer isso facilmente com um script do PowerShell. Você pode usar a função Get-ExcelData neste snippet do PowerShell e canalizar os resultados através do Select-Object e, finalmente, para Export-Csv .
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.
Mais uma solução:
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).
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