У меня есть около 9000 столбцов (идет в столбец MGN), которые имеют 14 строк точек данных. Мне нужно получить данные в одном столбце с форматом Столбец B ниже A, C ниже B и т.д.

Могу ли я выполнить какой-либо макрос или задачу, чтобы сделать это за один раз? Любая помощь будет оценена.

1 ответ1

1

Если я правильно понимаю, то получается результат 126 000 строк или чуть более 2500 страниц формата А4 ... Если вам нужно проанализировать это лично, идея одного столбца не очень хорошая.

например:

xls2col2.vbs Book 1.xlsx

Или перетащите файл Excel в VBScript:

перетащите файл Excel в VBScript

используйте книгу 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

Этот скрипт сначала сохраняет ваш файл в тексте, а затем преобразует текст в нем в один столбец. Если это необходимо, это в формате Excel, откройте текстовый файл и сохраните его, но я не вижу необходимости.

EViews 7 TXT-файл:

EViews 7 TXT файл

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .