Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Создание итоговой накладной, перенос данных c заготовки - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Создание итоговой накладной, перенос данных c заготовки (Макросы/Sub)
Создание итоговой накладной, перенос данных c заготовки
3322244 Дата: Вторник, 31.08.2021, 14:14 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 4
Репутация: 0 ±
Замечаний: 0% ±

2016
Добрый день, уважаемые Знатоки и читатели замечательного ресурса!

Необходима подсказка, завершение кода, в котором будет работать перенос данных из ячеек excel-шаблона листа,
в новый excel-документ с данными, уникального заказа клиента.

Развернуто по проекту, суть
Создаю систему по заполнения накладной из книги, с данными о товарах (прайс, номенклатура)
Настроено быстрое заполнение ВРЕМЕННОЙ накладной, (!) внутри книги / отдельном листе.
Т.е в «главной» книге имеем заполняемый менеджером лист / шаблон, с данными выбранных товаров (ценами, размером, пр.)
Дальше требуется создать уникальную накладную клиенту макросом, путем копировать ячеек (указанную ячейку(и), и/или интервал), в отдельную книгу и сохранить в указанную папку.
Ранее создавал подобное в ворде, через слияние данных, не хватает знаний.

В моем прикрепленном примере - начало кода, в котором создаю накладную по шаблону, с уникальным именем.
На этом этапе все работет.

[vba]
Код


Sub Карточка()
Dim wdApp As Object
Dim wdDoc As Object

HomeDir$ = ThisWorkbook.Path
Set wdApp = CreateObject("Excel.Application")

' дата сегодня
Data1$ = Date
' данные одной ячейки, (A1) с шаблона, для теста и примера
Col_1$ = Cells(1, 1).Text

' создаю копию по шаблону, сохраняю в отдельную папку с именем файла по дате и др. данным в имени файла ...
  FileCopy HomeDir$ + "\Shablon\ShablonTEST.xlsx", HomeDir$ & "\NewDOC\" & "_TEST_" + Data1$ & ".xlsx"
  Set wdDoc = wdApp.Workbooks.Open(HomeDir$ & "\NewDOC\" & "_TEST_" & Data1$ & ".xlsx")
       
' (!!!) именно тут получаю «DEBUG»,
' НОВЫЙ файл открыт в фоне, готов получить данные, но НЕ заполняется, VBA светит ошибку в строке ниже
' Нужен код, для переноса данных, в новый документ, мой НЕ работает
wdDoc.Range.Find.Execute FindText:="&Col_1"

        
wdDoc.Save
wdDoc.Close

wdApp.Quit
MsgBox "Документ TEST создан!"

End Sub

[/vba]

Получаю Debug, ошибка кода, при переносе данных из ячеек главной книги с данными.
Col_1$ =&Col_1 - тут ошибка, нет знаний
Как «взять», присвоить значение в новой таблице из главной книги, с данными?

Подскажите код, значение (переменную), пр., которые заполнят накладную из «главной» книги.
Достаточно одну строку (одну ячейку, диапазон), как пример.

Огромная благодарность за подсказку.
Именно подсказку кода копирования, дальше смогу (надеюсь :)).
Ценю Ваше время и знания, поклон за участие.

Всем добра!

p.s. в моем решение использую микс решений, в том чисте и раннюю тему «Заполнение накладной из выделенных в Excel строк»
Готов поделиться своим финальным файлом, уверен в актуальности)
К сообщению приложен файл: -_TEST.xlsm (489.5 Kb)


Сообщение отредактировал 3322244 - Вторник, 31.08.2021, 15:56
 
Ответить
СообщениеДобрый день, уважаемые Знатоки и читатели замечательного ресурса!

Необходима подсказка, завершение кода, в котором будет работать перенос данных из ячеек excel-шаблона листа,
в новый excel-документ с данными, уникального заказа клиента.

Развернуто по проекту, суть
Создаю систему по заполнения накладной из книги, с данными о товарах (прайс, номенклатура)
Настроено быстрое заполнение ВРЕМЕННОЙ накладной, (!) внутри книги / отдельном листе.
Т.е в «главной» книге имеем заполняемый менеджером лист / шаблон, с данными выбранных товаров (ценами, размером, пр.)
Дальше требуется создать уникальную накладную клиенту макросом, путем копировать ячеек (указанную ячейку(и), и/или интервал), в отдельную книгу и сохранить в указанную папку.
Ранее создавал подобное в ворде, через слияние данных, не хватает знаний.

В моем прикрепленном примере - начало кода, в котором создаю накладную по шаблону, с уникальным именем.
На этом этапе все работет.

[vba]
Код


Sub Карточка()
Dim wdApp As Object
Dim wdDoc As Object

HomeDir$ = ThisWorkbook.Path
Set wdApp = CreateObject("Excel.Application")

' дата сегодня
Data1$ = Date
' данные одной ячейки, (A1) с шаблона, для теста и примера
Col_1$ = Cells(1, 1).Text

' создаю копию по шаблону, сохраняю в отдельную папку с именем файла по дате и др. данным в имени файла ...
  FileCopy HomeDir$ + "\Shablon\ShablonTEST.xlsx", HomeDir$ & "\NewDOC\" & "_TEST_" + Data1$ & ".xlsx"
  Set wdDoc = wdApp.Workbooks.Open(HomeDir$ & "\NewDOC\" & "_TEST_" & Data1$ & ".xlsx")
       
' (!!!) именно тут получаю «DEBUG»,
' НОВЫЙ файл открыт в фоне, готов получить данные, но НЕ заполняется, VBA светит ошибку в строке ниже
' Нужен код, для переноса данных, в новый документ, мой НЕ работает
wdDoc.Range.Find.Execute FindText:="&Col_1"

        
wdDoc.Save
wdDoc.Close

wdApp.Quit
MsgBox "Документ TEST создан!"

End Sub

[/vba]

Получаю Debug, ошибка кода, при переносе данных из ячеек главной книги с данными.
Col_1$ =&Col_1 - тут ошибка, нет знаний
Как «взять», присвоить значение в новой таблице из главной книги, с данными?

Подскажите код, значение (переменную), пр., которые заполнят накладную из «главной» книги.
Достаточно одну строку (одну ячейку, диапазон), как пример.

Огромная благодарность за подсказку.
Именно подсказку кода копирования, дальше смогу (надеюсь :)).
Ценю Ваше время и знания, поклон за участие.

Всем добра!

p.s. в моем решение использую микс решений, в том чисте и раннюю тему «Заполнение накладной из выделенных в Excel строк»
Готов поделиться своим финальным файлом, уверен в актуальности)

Автор - 3322244
Дата добавления - 31.08.2021 в 14:14
doober Дата: Вторник, 31.08.2021, 16:48 | Сообщение № 2
Группа: Друзья
Ранг: Ветеран
Сообщений: 947
Репутация: 323 ±
Замечаний: 0% ±

Excel 2010
По ходу вы применяете код для ворда
Это признак этого
[vba]
Код
Set wdApp = CreateObject("Excel.Application")
[/vba]Таких методов нет в excel
[vba]
Код
wdDoc.Range.Find.Execute FindText:="&Col_1"
[/vba]
[vba]
Код
Dim xx As Range
Set xx = wdDoc.Worksheets(1).Cells.Find(Col_1$, , , xlWhole)
If Not xx Is Nothing Then
' если нашли ячейку то что то делаем
End If
[/vba]


 
Ответить
СообщениеПо ходу вы применяете код для ворда
Это признак этого
[vba]
Код
Set wdApp = CreateObject("Excel.Application")
[/vba]Таких методов нет в excel
[vba]
Код
wdDoc.Range.Find.Execute FindText:="&Col_1"
[/vba]
[vba]
Код
Dim xx As Range
Set xx = wdDoc.Worksheets(1).Cells.Find(Col_1$, , , xlWhole)
If Not xx Is Nothing Then
' если нашли ячейку то что то делаем
End If
[/vba]

Автор - doober
Дата добавления - 31.08.2021 в 16:48
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Создание итоговой накладной, перенос данных c заготовки (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!