Выбрать дату в календареВыбрать дату в календаре

Страницы: 1
Макрос для создания csv файла из накладной хls
 
Доброго времени суток!
Прошу помочь оптимизировать макрос, который перебирает все файлы в папке, делает из них csv и добавляет их в письмо как вложение, перемещает исходный файл в другую папку, предварительно подготовив на печать на одной странице. В принципе все работает только как то не быстро.
Скрытый текст


Большое спасибо.
Печать актов по данным из двух таблиц
 
с запросом разобрался выдаёт теперь то,  что нужно
получилось так select F12, F11, f23, f20, `'3$'`.Получил1
from `'1$'`, `'3$'` WHERE `'1$'`.F9 LIKE `'3$'`.Получил1+'%';  подсказали на форуме sql.ru
Остается макрос написать который перебирает данные и печатает акты,  как обращаться к таблице Microsoft Query из vba?
Печать актов по данным из двух таблиц
 
JeyCi, Спасибо, все читаю изучаю, но понимание приходит не сразу.
Вот такой запрос работает корректно, если значения столбцов полностью совпадаю, а в моем случае в столбце 7 листа 3 есть только фамилия.
Понял, что нужно добавить знак %, но ни как не получается и с кавычками и всяко добавлял, помогайте:

select F12, F11, f23, f20, `'3$'`.Получил1
from `'1$'`, `'3$'` WHERE `'1$'`.F9 LIKE `'3$'`.Получил1;

И еще почему-то не работает если из select убрать `'3$'`.Получил1, этот столбец мне для вывода не нужен только для сравнения с `'1$'`.F9

Огромноe спасибо.
Изменено: mrtopgun - 23.07.2015 19:07:39
Печать актов по данным из двух таблиц
 
Всем привет. С Microsoft Query немного разобрался,  но ни как не получается сформировать правильно запрос на выборку строк.
Как написать: выдать строки из столбцов 12,13,20,23 листа 1 содержащих в столбце 9  листа 1 часть значения столбца 7 листа 3?
часть значения имеется ввиду в столбце 7 указанно фамилия без имени,  а в столбце 9 полностью имя и фамилия,  нужно чтобы нашёл наиболее совпадающее значения.

Спасибо.
Изменено: mrtopgun - 23.07.2015 15:45:38
Печать актов по данным из двух таблиц
 
JeyCi, TheBestOfTheBest, Спасибо большое,  пока изучаю вопрос,  с таким методом вообще не знаком.
Печать актов по данным из двух таблиц
 
TheBestOfTheBest, Киким образом можно перенести на другую таблицу?
Работа с этим файлом построена следующим образом:
Изначально получаю таблицу "исходные данные",  потом формируют сам "исходные данные 2" таблица соответствия удобнее хранить в отдельном файле,  она будет очень редко меняться. форма для печати тоже не меняется заголовок,  можно хранить с таблицей соответствия.  Удобнее было  бы наверно при получение "исходных данных"  запустить макрос который и собирает всю информацию в печатную форму.  находит нужные столбцы с информацией и выводить печатную форму в соответствии с фамилией.
Печать актов по данным из двух таблиц
 
TheBestOfTheBest, вот этот. Как это работает?
Код
Sub Список(Optional Target As Range)
'добавляет в ячейку список проверки/выбора
Dim InVal() As Variant
Dim OutVal() As Variant
Dim OutVal2 As String
If TypeName(Target) <> "Range" Then Set Target = ThisWorkbook.Worksheets("Печатная форма").Range("D1")
InVal = ThisWorkbook.Worksheets("Исходные данные 2").Range("E1:E100").Value
Set dicRow = CreateObject("scripting.dictionary")
    With dicRow
        .comparemode = 1
        .Add InVal(1, 1), 1
        For i = 1 To UBound(InVal, 1)
            If Not .Exists(InVal(i, 1)) Then .Add InVal(i, 1), InVal(i, 1)
        Next i
        .Remove (InVal(1, 1))
        OutVal = .keys
    End With
    With Target.Validation
        .Delete
        .Add Type:=xlValidateList, Formula1:=Join(OutVal, ",")
        .IgnoreBlank = True
        .InCellDropdown = True
        .InputTitle = ""
        .ErrorTitle = ""
        .InputMessage = ""
        .ErrorMessage = ""
        .ShowInput = True
        .ShowError = True
    End With
Range("D1").Select
End Sub


Или это только часть? Где еще смотреть? Как это можно перенести на реальную таблицу, какие условия нужно соблюсти?
Изменено: mrtopgun - 16.07.2015 19:24:23
Печать актов по данным из двух таблиц
 
TheBestOfTheBest, Спасибо,  за ответ.  работает.  Будьте добры объясните код.
Изменено: mrtopgun - 16.07.2015 18:29:14
Печать актов по данным из двух таблиц
 
Уважаемые специалисты,  направте в нужное русло.

спасибо.
Печать актов по данным из двух таблиц
 
Игорь,  Спасибо за ответ. Реализовать все хочется в виде макроса.
Как вообще такие задачи реализуются в виде плана действий,  у меня в голове крутится так:
1. перевести в транслит столбец с фамилиями
2. "выдернуть" нужные столбцы с данными для печати на новый лист
3. дольше цикл подстановки в форму для печати номер акта дата и строки содержашие определённую фамилию потом печать,  следующий номер дата фамилия

в правильном направление рассуждают?
Изменено: mrtopgun - 15.07.2015 17:55:22
Печать актов по данным из двух таблиц
 
Добрый день. Подскажите пожалуйста как реализовать следующий функционал:
Есть таблица с данными (в примере это лист "исходные данные")
Есть список актов с номерами и фамилиями ( в примере это лист "исходные данные 2")
Нужно на основание списка актов сформировать акт и напечатать его, количество актов будет равно количеству номеров.
В форме для печати будет менятся номер акта, дата, и строки самого акта. Отбор данных в акт производится по фамилии, но тут такой момент, фамилии в таблице "исходные данные" написаны на латинице, а в таблице "исходные данные 2" кирилицей, для этого думаю сделать таблицу соответствия и первым делом заменить имена и фамилия на русские. На печать строки соответствующие фамилии "ответственный" / "сотрудник"

Таблица "исходные данные" в реальности очень большая во обоих направлениях, нужные для печати столбцы можно найти по заголовку столбца

Большое спасибо.
Изменено: mrtopgun - 15.07.2015 16:48:10
Макрос для создания csv файла из накладной хls
 
Слэн,спасибо,  все работает.  слеш один лишний был.
Изменено: mrtopgun - 08.07.2015 17:34:01
Макрос для создания csv файла из накладной хls
 
Hugo, Спасибо,  работает.  Ещё вопрос если можно, как сделать чтобы в подпапку с именем csv, сохранялись файлы csv?
Заметил,  что если код товара содержит в конце "х",   в csv он попадает без "х".  
Макрос для создания csv файла из накладной хls
 
Слэн, Добрый день!  Получилось сделать,  чтобы сохранял в эту же папку где лежит xls,  но при сохранение csv данные записываются через запятую,  когда это делаешь в ручную (сохранить как выбираю CSV (Comma delimited) (*. csv) ,  данные пишутся в отдельные ячейки по строкам.
изменил строчку

.SaveAs Replace(Replace(wb.FullName, wb.Name, "" & wb.Name), "xls", "csv"), xlCSV
Макрос для создания csv файла из накладной хls
 
Слэн, Большое спасибо.  Работает следующим образом:
Открываю файл с накладной xls,  тут же появляется ещё один файл xls с нужной информацией для csv,  сам в csv не сохраняет,  можно добавить такой функционал?  
Макрос для создания csv файла из накладной хls
 
Слэн, 210 - затребованно. Пример с несколькими позициями во вложение.

Спасибо.
Макрос для создания csv файла из накладной хls
 
Sanja, Спасибо за ответ,  пробовал, на следующем файле макрос не работает.  Разное количество строк в накладных бывает.  
Макрос для создания csv файла из накладной хls
 
Всем привет! Помогите пожалуйста создать макрос для генерирования csv файла из
накладной xls. Накладная выгружается из 1с с разными именами, с разным количеством и
ассортиментом товара, для csv нужно только определённые данные.
В итоге хочется получить такой инструмент:
1. Файлы с накладными xls лежат в определенной папке
2. Открываю файл xls, запускаю макрос
3. В подпапке с накладными создается файл csv с нужными данными.
4. Открываю следующий файл xls и тд.

Спасибо!
Изменено: mrtopgun - 07.07.2015 13:02:32
Страницы: 1
Наверх