Здравствуйте! Столкнулся с проблемой - не знаю как выделить макросом несколько строк в таблице WORD сразу. Как выделить одну знаю: Это работает Selection.Tables(1).Rows(1).Select
Пробовал макрос записать Выделил строки в ручную и скопировал их буфер. Получил это:
Sub Макрос2() ' ' Макрос2 Макрос
Selection.Copy End Sub
Может подскажите другое решение? Суть Есть большой файл Word 462 страницы там несколько таблиц 3 или 4. Мне надо эту таблицу скопировать в excel. Полностью скопировать в буфер удается, но вставить в excel оттуда нет - пишет что невозможно вставить. По столбцам копировать тоже не дает- пишет разной длины.
Единственный способ копировать по строчно или несколько строк в буфер и вставлять в excel Как это сделать макросом?
Здравствуйте! Столкнулся с проблемой - не знаю как выделить макросом несколько строк в таблице WORD сразу. Как выделить одну знаю: Это работает Selection.Tables(1).Rows(1).Select
Пробовал макрос записать Выделил строки в ручную и скопировал их буфер. Получил это:
Sub Макрос2() ' ' Макрос2 Макрос
Selection.Copy End Sub
Может подскажите другое решение? Суть Есть большой файл Word 462 страницы там несколько таблиц 3 или 4. Мне надо эту таблицу скопировать в excel. Полностью скопировать в буфер удается, но вставить в excel оттуда нет - пишет что невозможно вставить. По столбцам копировать тоже не дает- пишет разной длины.
Единственный способ копировать по строчно или несколько строк в буфер и вставлять в excel Как это сделать макросом?clever77
Файл слишком большой 376 Мегабайт..... потому и не выкладываю Как выделить в таблице несколько строк не знаю, но решение своего вопроса нашел: работает медленно, но работает office 2016 Важно- перед запуском макроса таблицу надо выбрать - навести курсор и кликнуть мышкой
В Word
Sub for_i() Dim objXls As Object Set objXls = CreateObject("Excel.Application") objXls.Workbooks.Open "D:\Macros2017\MWE.xlsm" ' Открытие файла Excel с нужным макросом -открывать 1 раз a = Selection.Tables(1).Rows.Count 'а=35292 строк в таблице For i = 1 To a Selection.Tables(1).Rows(i).Select Selection.Copy
objXls.Application.Visible = True objXls.Run ("WDEX") ' WDEX название макроса excel Next i End Sub
В Excel\
Sub WDEX() irow = Cells(Rows.Count, 1).End(xlUp).Row Cells(irow + 1, 1).Select With Selection ActiveSheet.Paste End With Exit Sub 'Обязательно иначе застревает на end sub и требует нажатия f5 End Sub
Целиком таблицу еще не перекинул (может еще что всплывет), но 5 строк подряд скопировал
Если выделить несколько строк и скопировать дело будет двигаться быстрее
На другом форуме посоветовали это 'выделить в документе промежуток ... ActiveDocument.Range( _ Start:=ActiveDocument.Lists(1).Range.Start, _ End:=ActiveDocument.Lists(1).Range.Start).Select
Но у меня не работает.... Кстати по поводу VBE -EXCEL - безопасность - есть пункт доверять VBA
Файл слишком большой 376 Мегабайт..... потому и не выкладываю Как выделить в таблице несколько строк не знаю, но решение своего вопроса нашел: работает медленно, но работает office 2016 Важно- перед запуском макроса таблицу надо выбрать - навести курсор и кликнуть мышкой
В Word
Sub for_i() Dim objXls As Object Set objXls = CreateObject("Excel.Application") objXls.Workbooks.Open "D:\Macros2017\MWE.xlsm" ' Открытие файла Excel с нужным макросом -открывать 1 раз a = Selection.Tables(1).Rows.Count 'а=35292 строк в таблице For i = 1 To a Selection.Tables(1).Rows(i).Select Selection.Copy
objXls.Application.Visible = True objXls.Run ("WDEX") ' WDEX название макроса excel Next i End Sub
В Excel\
Sub WDEX() irow = Cells(Rows.Count, 1).End(xlUp).Row Cells(irow + 1, 1).Select With Selection ActiveSheet.Paste End With Exit Sub 'Обязательно иначе застревает на end sub и требует нажатия f5 End Sub
Целиком таблицу еще не перекинул (может еще что всплывет), но 5 строк подряд скопировал
Если выделить несколько строк и скопировать дело будет двигаться быстрее
На другом форуме посоветовали это 'выделить в документе промежуток ... ActiveDocument.Range( _ Start:=ActiveDocument.Lists(1).Range.Start, _ End:=ActiveDocument.Lists(1).Range.Start).Select
Но у меня не работает.... Кстати по поводу VBE -EXCEL - безопасность - есть пункт доверять VBAclever77
Сообщение отредактировал clever77 - Воскресенье, 14.05.2017, 23:21