Построчный перенос данных из ячеек Excel в закладки Word - VBA

Узнай цену своей работы

Формулировка задачи:

Добрый день! Помогите, пожалуйста, не смогла найти решения поставленной задачи. Перерыла много форумов, нашла варианта передачи таблиц, реализацию псевдоБД. Но передачу построчно в Word-шаблон в случайные места, определённые закладками - не увидела нигде.

Задача.

Формирование документа на основе данных, введённых в анкету, реализованную в Excel.

Идея.

Суть в следующем.

В рабочей книге Excel есть:

первый лист - Anketa, на котором конечный пользователь вводит данные - в белые ячейки. второй лист - Bookmarks - реализована небольшая табличка с только теми данными, которые нужны в конечном документе. Также там реализована проверка на введённые данные и выборка одного из четырёх вариантов документов. Представлена кнопочка с макросом, который, по идее, должен был реализовать перенос данных в шаблон Word. Документ должен сохраниться в отдельную папочку под своим названием 1,2,3 или 4

Проблема.

Не могу сама просечь, что именно работает не так На данную секунду ругается на строчки, где я инициирую выход из Word. Когда убираю - макрос запускается, но данные не выгружаются и ошибку не выдаёт. Помогите, пожалуйста, направьте в правильное направление...

Решение задачи: «Построчный перенос данных из ячеек Excel в закладки Word»

textual
Листинг программы
  1. Sub EnumTORG12()
  2.     Dim lr As ListRow, wbk As Workbook, wdt As Date, dst As Worksheet
  3.     Dim wrd As Word.Application, doc As Word.Document, sNum As String
  4.     Dim sum As String, vdt As Date
  5.    
  6.     wdt = Now() ' Г’ГҐГЄГіГ№Г*Гї Г¤Г*ГІГ* + 0 Г¤Г*. èñïîëüçóåòñÿ äëÿ Г¤Г*ГІГ» âûñòГ*âëåГ*ГЁГї ñ÷åòîâ
  7.    For Each lr In ThisWorkbook.Worksheets("Г’ГЌ").ListObjects(1).ListRows
  8.         With lr.Range
  9.             If Trim$(.Cells(1, 21)) <> "" Then
  10.            
  11.             ' ÑîçäГ*Г*ГЁГҐ ГЄГ*ГЁГЈГЁ ГЇГ® ГёГ*áëîГ*Гі
  12.            If .Cells(1, 15) = 500 Then
  13.                 Set wbk = Workbooks.Add(ThisWorkbook.Path & "\ГёГ*áëîГ*Г»\Ñ÷åò 500.xltx")
  14.             ElseIf .Cells(1, 15) = 700 Then
  15.                 Set wbk = Workbooks.Add(ThisWorkbook.Path & "\ГёГ*áëîГ*Г»\Ñ÷åò 700.xltx")
  16.             Else
  17.                 Debug.Print "ГЌГҐ ГіГЄГ*Г§Г*Г* Г*îðìåð ГЄГ®Г*ГІГ°Г*ГЄГІГ* Гў còðîêå " & .Row
  18.                 Stop
  19.             End If
  20.            
  21.             ' ГђГ*áîòГ* ГЇГ® Г§Г*ïîëГ*ГҐГ*ГЁГѕ Г±Г·ГҐГІГ*
  22.            Set dst = wbk.Worksheets(1)
  23.            
  24.             ' Íîìåð ГЁ Г¤Г*ГІГ* Г±Г·ГҐГІГ*
  25.            sNum = .Cells(1, 21) ' ÑîõðГ*Г*ГЁГІГј Г*îìåð Г±Г·ГҐГІГ*
  26.            dst.Cells(3, 5) = dst.Cells(3, 5) & sNum & " îò " & Format(wdt, "dd.mm.yyyy")
  27.             ' Íîìåð òîâГ*Г°Г*îé Г*Г*ГЄГ«Г*Г¤Г*îé (òîðã-12)
  28.            dst.Cells(17, 6) = dst.Cells(17, 6) & Trim$(.Cells(1, 1))
  29.             ' Г„Г*ГІГ* òîâГ*Г°Г*îé Г*Г*ГЄГ«Г*Г¤Г*îé (òîðã-12)
  30.            dst.Cells(19, 6) = CDate(.Cells(1, 2))
  31.             ' ÑóììГ* òîâГ*Г°Г*îé Г*Г*ГЄГ«Г*Г¤Г*îé Гў äîëëГ*Г°Г*Гµ Г‘Г

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут