Необходимо вытащить данные с эксель в ворд, Необходимо вытащить данные из эксель и вставить из в шаблонный документ, при этом при переходе на следующую строку создать новы документ по шаблону
Добрый день дорогие форумчане, у вас голова хорошо работает в отличии от моей, от того и прошу помощи
У меня по работе часто необходимо делать шаблонные документы, запросы, повестки и так далее, как правило вся информация, для формирования документа берется из таблиц (ФИО, организация, должность и т.д.) Для удобства прошу помочь составить макрос вба, для того, что бы он работал по принципу: К примеру я пишу в первой строке названия столбцов в фигурных скобках, макрос смотрит, если в ворде есть одноименное название с фигурными скобками, то он по принципу функции в ворде "заменить", меняет значение из столбца с названием, которое совпадает с тем, что нужно поменять в ворде, и заменяет значением из эксель. к примеру в эксель есть в ячей А1 название "{ФИО}", он подставляет значение из А2 (Петров), в вордовский шаблон, в место где также прописано слово "{ФИО}". И так циклично, пока не начнутся пустые строки. При этом, если он проверил и заменил все с одной строки, он создает новый файл, в котором уже заменяет все значения на значения из новой строки
В пример скидываю шаблон ворд, документ эксель и сам макрос
Код
Sub Dogovorchiki()
Dim wdApp As Word.Application, wdDoc As Document, wdDocNew As Document, DocNames As String, XLSheet As Object
Set wdApp = New Word.Application
Set XLSheet = ActiveSheet
Application.ScreenUpdating = False
wdApp.ScreenUpdating = False
For i = 2 To WorksheetFunction.CountA(XLSheet.Range("A:A")) ' цикл по строкам (договорам)
Set wdDoc = wdApp.Documents.Open(XLSheet.Parent.Path & "\Повестка шаблон.docx")
wdDoc.SaveAs2 (XLSheet.Parent.Path & "\" & XLSheet.Cells(i, 4) & ".docx")
DocNames = DocNames & XLSheet.Cells(i, 4) & ".docx" & Chr(10)
Set wdDocNew = wdApp.Documents(XLSheet.Cells(i, 4) & ".docx")
For j = 1 To XLSheet.UsedRange.Columns.Count ' цикл по столбцам (полям)
Set MyRange = wdDocNew.Content
MyRange.Find.Execute FindText:=XLSheet.Cells(1, j), ReplaceWith:=XLSheet.Cells(i, j), Replace:=wdReplaceAll
Next j
wdDoc.Close
Next i
wdApp.Quit
Set wdApp = Nothing
MsgBox ("Сформированы следующие договоры: " & Chr(10) & DocNames)
End Sub
Нашел вышеуказанный макрос, но при его запуске либо виснет, либо ошибку выдает, при переходе на ошибку, вот эта строка светится желтым и на ней видимо тормозит "wdDoc.SaveAs2 (XLSheet.Parent.Path & "\" & XLSheet.Cells(i, 4) & ".docx")"
Имеются несколько столбцов, в каждом столбце данные, но .... в некоторых столбцах каждая ячейка объединена (расцепить не сложно), а в других не объеденные, но информация разбита на несколько строк. Для удобства анализа, я привык, что бы данные были в одной строке (а не разбиты на несколько строк) Как быть? Думал сначала сцепить, но там размер каждой записи отличается, где то 5 строк, где-то 2 строки. в связи с чем не получается растянуть формулу сцепления Помогите плиз, вообще голову сломал Если что пример кинул в закрепе, в оригинале более 18 000 строк
Доброе утро форумчане. У меня такая проблема есть столбцы, где большие цифры превратились образно говоря в такие видимые значения -
4,07028E+19
Соответственно, в фильтре по этому столбцу отображается только короткие версии значений. Если поменять формат ячеек на текстовой и начать редактировать ( как раз клавиши F2 + Enter) то значение в ячейки становится не сокращенным.
Добрый день всем, есть таблица (Банковская выписка).
Первая проблема: При создании "Промежуточного итога" у меня не получается что бы в итог он писал значения двух строк, вот пример (суммы сами нормально рассчитываются дебета и кредита):
Скрытый текст
Наименование организации
ИНН
ДЕБЕТ
КРЕДИТ
НАЗНАЧЕНИЕ ПЛАТЕЖА
ООО 1 Итог
0
122
300
0
ООО 2 Итог
0
200
122
0
Примечание: Мне нужно что бы в столбце "Наименование организации" он прописывал еще и ИНН либо в столбце ИНН просто не обнулял значение. При нажатии на "+" (раскрытие списка), который появился напротив строки после создания промежуточного итога, ИНН в раскрытом списке отображается.
Вторая проблема, есть ли возможность, чтобы из экселя вытягивались данные в текстовой документ в виде текста или таблицы в ворд в таком шаблоне:
Выписка ООО "Рога и копыто" ИНН 111111 из ПАО "Сбербанк"
Операции по дебету:
Скрытый текст
Организация
ИНН
Дебет
ООО 2
11222
650 000 руб.
ООО 1
22122
320 500 руб
Операции по кредиту:
Скрытый текст
Организация
ИНН
Кредит
ООО 1
22122
700 000 руб.
ООО 2
11222
14 500 руб
Примечание: В таблицу соответственно должно вставляться по убыванию сумм.
Всем спасибо за уделенное время, просто Банковских выписок полно, половина вообще в текстовом формате, по этому считать буду в ручную, а с таблицами полегче, надеюсь на Вашу помощь))) Пример таблицы во вложении. На первом листе исходник, на втором с комментарием то, что получилось у меня