Вырезание и вставка в макрос Excel

696
nvdkgm

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

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

0

1 ответ на вопрос

1
STTR

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

например:

xls2col2.vbs Book 1.xlsx 

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

drag&drop excel file to 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 file

Это было бы правильно. У меня было бы около 126 000 строк только в столбце А. Данные импортируются в EViews 7, поэтому я форматирую их для данных панели. nvdkgm 11 лет назад 0
@nvdkgm хорошо, посмотри и протестируй скрипт STTR 11 лет назад 0
Ценю помощь и скриншоты. nvdkgm 11 лет назад 0

Похожие вопросы