Cortando e colando na macro do Excel

0

Eu tenho aproximadamente 9.000 colunas (vai para a coluna MGN), que possuem 14 linhas de pontos de dados. Preciso obter os dados em uma coluna única com o formato Coluna B abaixo de A, C abaixo de B, etc.

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

    
por nvdkgm 16.03.2013 / 16:39

1 resposta

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 ideia de uma única coluna não é muito boa .

ex:

xls2col2.vbs Book 1.xlsx

Ou arraste & solte o arquivo excel para vbscript:

useolivro1.txt

xls2col2.vbs:

IfWScript.Arguments.Count<1thenWscript.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, está no formato excel, abra o arquivo de texto e salve novamente, mas não vejo a necessidade.

EViews 7 arquivo txt:

    
por 16.03.2013 / 17:47