Recortando e colando na macro do Excel


0

Eu tenho aproximadamente 9.000 colunas (vai para a coluna MGN), que tem 14 linhas de pontos de dados. Eu preciso pegar os dados em um solteiro coluna com o formato Coluna B abaixo A, C abaixo B, etc.

Existe alguma macro ou tarefa que eu possa executar para que possa ser feita de uma só vez? Qualquer ajuda seria apreciada.

Respostas:


1

Se bem entendi, então você obtém um resultado de 126 000 linhas, ou pouco mais de 2.500 páginas de A4 ... Se você precisa analisá-lo pessoalmente, a idéia de uma única coluna não é muito boa.

ex:

xls2col2.vbs Book 1.xlsx

Ou arraste & solte o arquivo excel para vbscript:

drag&drop excel file to vbscript

use o livro 1.txt

xls2col2.vbs:

If WScript.Arguments.Count <1 then 
   Wscript.Echo "Ex.1: cscript xls2col.vbs filename.xls"
   Wscript.Echo "Ex.2: cscript xls2col.vbs filename.xlsx"
   Wscript.Quit
End If

Const OpenAsDefault = -2
Const FailIfNotExist = 0
Const ForReading = 1
Const ForWriting = 2

Const xlTextWindows=20
Const xlUnicodeText=42   
Const ExtName = ".txt"

Dim ConvertExt:ConvertExt = xlTextWindows

Dim strFilePath:strFilePath = WScript.Arguments.Item(0) 

Dim FSO:Set FSO = CreateObject("Scripting.FileSystemObject")
    If FSO.FileExists(strFilePath) Then

Dim FileProperties:Set FileProperties=FSO.GetFile(strFilePath)
    Dim strOpenFileName : strOpenFileName = FileProperties.Path
    Dim FileConvertName : FileConvertName = FSO.BuildPath(FileProperties.ParentFolder, FSO.GetBaseName(FileProperties) & ExtName)

Dim ExcelApplication:Set ExcelApplication = CreateObject("Excel.Application")
ExcelApplication.Workbooks.Open(strOpenFileName)

ExcelApplication.DisplayAlerts = FALSE
ExcelApplication.Visible = FALSE

ExcelApplication.Workbooks(1).SaveAs FileConvertName, ConvertExt
ExcelApplication.Quit

WScript.Sleep 5000

Set FSO = CreateObject("Scripting.FileSystemObject")
Dim file: Set file = FSO.OpenTextFile(FileConvertName, ForReading, FailIfNotExist, OpenAsDefault)

Dim FileReadAll: FileReadAll = file.ReadAll
file.Close
FileReadAll = Replace(FileReadAll, Chr(9), Chr(13)&Chr(10))

Set file = FSO.OpenTextFile(FileConvertName, ForWriting, True)
file.Write(FileReadAll)
file.Close

Else
      WScript.Echo "File Open Error: file not exist!"
      WScript.Quit
End If

Esse script salva seu arquivo primeiro no texto e, em seguida, converte o texto em uma coluna. Se for necessário, ele está no formato excel, abra o arquivo de texto e salve novamente, mas não vejo a necessidade.

Arquivo EViews 7 txt:

EViews 7 txt file


Isso seria correto. Eu teria perto de 126.000 linhas apenas na coluna A. Os dados estão sendo importados para o EViews 7, então estou formatando-o para dados do painel.
nvdkgm

@nvdkgm ok, veja e teste o script
STTR

Aprecie a ajuda e as capturas de tela.
nvdkgm
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.