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

Страницы: 1
Макрос для импорта данных из трёх книг + несколько функций во время импорта, и несколько функций после импорта.
 
Уважаемые форумчане, добрый день!

Есть три файла, которые лежат в разных местах:
Making.xlsb Goods.xlsb и Данные1С.xlsx
В файле Шаблон.xlsb требуется докрутить имеющийся макрос, который копировал бы данные из выше перечисленных файлов.
Очень важно, чтобы сбор данных из этих файлов работал по такому же принципу как это сделано в прилагаемом файле Шаблон.xlsb

Первым делом из файла Making.xlsx, затем из файла Goods.xlsx, затем из Данные1С.xlsx
Количество строк может меняться во всех файлах.
Если какого-то файла нет в указанном месте, то молча пропускаем его и тянемем данные из следующего.
Если нет всех трёх файлов, тогда выдаём сообщение "данные для импорта отсутствуют"

Данные для импорта начинаются так:

для Making.xlsb по всей видимости нужно прописывать так:
.Range(.Cells(18, 3), .Cells(.Cells(.Rows.Count, 3).End(xlUp).Row, .Cells(18, .Columns.Count).End(xlToLeft).Column)).Value

Для Goods.xlsb так:
.Range(.Cells(8, 4), .Cells(.Cells(.Rows.Count, 4).End(xlUp).Row, .Cells(8, .Columns.Count).End(xlToLeft).Column)).Value

для Данные1С.xlsx в текущем макросе уже прописано так:
.Range(.Cells(13, 2), .Cells(.Cells(.Rows.Count, 2).End(xlUp).Row, .Cells(13, .Columns.Count).End(xlToLeft).Column)).Value

Мне, как человеку не знающему VBA нужно, чтобы было интуитивно понятно каким образом я мог бы в перспективе добавить файлы и прописать координаты для импорта.
Все существующие функции обязательно нужно оставить. И нужно чтобы они работали с данными из всех файлов.

Нужно добавить функцию, которая работала бы примерно так же как и функция с листом Price
А именно: сравнить код с кодом на листе Name и во всех совпадающих строках изменить Артикул, Торговую марку и Наименование согласно данных на листе Name

Нужно усовершенствовать существующую функцию: "получить Торговую марку"
Существующая функция получает в столбце Наименование результат, и этот результат она должна сравнить с существованием полученного слова на листе Brand в столбце Бренды 1С
Если есть абсолютное совпадение (обязательно абсолютное совпадение, т.к. есть бренд "ARGO" и есть бренд "CARGO", т.е. я имею ввиду что макрос должен найти точное совпадение),
тогда пишем результат, если совпадения нет, тогда результат берём из столбца Дополнительное описание (Бренд)

Во время импорта нужно чтобы все данные в столбец артикул записывались в текстовом формате.
Можно конечно выделить весь столбец и формат текста сделать текстовым, но я уверен, что понимающий сможет сделать текстовыми только те ячейки, в которые будут тянуться артикулы.
Хочу обратить внимание на то, что в файлах, из которых импортируются данные, в столбце Артикул есть ячейки с числовым форматом, и для таких ячеек очень нужен макрос, который правильно конвертировал бы число в текст.
В файле Данные1С.xlsx приведено только несколько примеров в строках 19, 20 и 21
т.е. нули содержатся в начале артикула, а импортируются данные к сожалению без нулей.
В общем нужен желательно универсальный макрос, который позволил бы правильно конвертировать такие числа в текст.

Также во время импорта нужна функция, которая ищет в столбце Базовая единица измерения (ЕИ), следующие значения:
"м" и "п.м.", и меняет их на "пог.м.",
а "компл" меняет на "к-т"


Отдельные функции, которые не должны применяться во время импорта данных, т.е. функции или макросы, которые будут выполняться по инициативе пользователя уже с существующими данными на листе:

Нужна функция, которая проверяет столбцы: Торговая марка, Артикул, Остаток и RUB без НДС, на наличие пустых ячеек и значения 0.
Если такие ячейки будут найдены, то нужно выдать диалог с сообщением "Пустая ячейка" и выделить первую найденную ячейку, и по нажатию на кнопку выделить следующую ячейку с ошибкой,
и т.о. пролистать все такие ячейки, или нажать на кнопку Отмена и остановить показ ячеек с ошибкой.

Также нужна ещё одна проверочная функция, которая ищет в столбце Артикул, скобки "(" ")" "[" "]", кавычки "'" "'", символ собаки "@" и запятые "," и если найдена такая ячейка в которой содержатся скобки, кавычки, собаки или запятые,
то нужно выдать диалог с сообщением "недопустимые символы" и выделить первую найденную ячейку, и по нажатию на кнопку выделить следующую ячейку с ошибкой,
и т.о. пролистать все такие ячейки, или нажать на кнопку Отмена и остановить показ ячеек с ошибкой.

Так же нужна функция, которая проверяла бы столбцы: Торговая марка и Наименование, на наличие слова "Stellox", и удалила бы все строки, в которых найдено это слово.

Бюджет на всё это дело 3000 рублей РФ
Изменено: AndreiSMT - 20.02.2025 08:10:18
Макрос для сохранения стиля таблицы при преобоазовании формул в значения, Макрос для сохранения стиля таблицы при преобоазовании формул в значения и удаления пустых строк таблицы
 
Уважамые форумчане, подскажите пожалуйста, как сделать так, что бы стиль таблицы не удалялся, когда макрос преобразует формулы в значения строкой:
Код
ActiveWorkbook.ActiveSheet.UsedRange.Value = ActiveWorkbook.ActiveSheet.UsedRange.Value
Получить значение при совпадении трёх других значений этой же строки
 
Уважаемые форумчане!
В прикреплённом файле на листе "1C" в столбце "Цена 2" прописал формулу:
Код
=ЕСЛИ(RC[-6]&RC[-5]&RC[-4]=
ЕСНД(ИНДЕКС(Price!C[-6];ПОИСКПОЗ(RC[-6];Price!C[-6];0);1)&ИНДЕКС(Price!C[-5];ПОИСКПОЗ(RC[-5];Price!C[-5];0);1)&ИНДЕКС(Price!C[-4];ПОИСКПОЗ(RC[-4];Price!C[-4];0);1);"");
ЕСНД(ИНДЕКС(Price!C[-6]:C[-3];ПОИСКПОЗ(RC[-6];Price!C[-6];0);4);"");
RC[-1])
но результат этой формулы не устраивает.
Рядом создал графу "Нужный результат"

Нужно чтобы подставлялась цифра из листа "Price" и именно из той строки в которой совпадают значения трёх ячеек.
Ещё важно понимать, что привязываться к номеру строки нельзя, т.к. прайс на самом деле на 5 тысяч позиций и номера строк постоянно меняются.
Надеялся, что 3-я строка из формулы будет работать примерно с таким содержанием:
Код
ЕСНД(ИНДЕКС(Price!C[-6]:C[-3];ПОИСКПОЗ(RC[-6]&RC[-5]&RC[-4];Price!C[-6]&Price!C[-5]&Price!C[-4];0);4);"");
но надежды не оправдались. Помогите пожалуйста с формулой.
Изменено: Sanja - 30.01.2025 13:46:08
Макрос для импорта данных из двух книг и автоматическое сохранение файла
 
Уважаемые форумчане, добрый день!
Есть два файла, которые лежат в разных местах:
D:\Docs\Making.xlsx и D:\Goods.xlsx
В файле Шаблон.xlsm требуется макрос, который копировал бы все данные из всех столбцов.
Первым делом все данные из файла Making.xlsx, затем все данные из файла Goods.xlsx
Количество строк может меняться в обоих файлах.
Все данные нужно импортировать с полной копией формата ячеек из которых импортируются данные.
Данные для импорта начинаются с 13-й строки 2-го столбца в обоих файлах (Making.xlsx и Goods.xlsx)
Все данные для импорта так же должны записываться начиная с 13-й строки 2-го столбца в файл Шаблон.xlsm.
Но в макросе не нужно объединять всё в одну строку, а для каждого файла прописать начало импорта данных отдельно и так же для шаблона отдельно прописать 13-ю строку 2-го столбца. Мне, как человеку не знающему VBA нужно, чтобы была хотябы интуитивная возможность изменить данные начала импорта и данные в какую ячейку начинать записывать.
После импорта данных, нужно чтобы произошло автоматическое сохранение в файл D:\Работа\Прайс.xlsx
В файле шаблон сразу добавил кнопку, которой нужно назначить макрос.
При нажатии на кнопку Обновить, сразу нужно очистить все данные, а потом уже начать импорт.
При сохранении, в файле Прайс.xlsx нужно удалить кнопку Обновить.
Скрытый текст

Бюджет 500 рублей РФ
Изменено: AndreiSMT - 19.12.2024 19:46:25
Сравнить данные в двух сторонних книгах и записать значение при совпадении, Помогите пожалуйста
 
Уважаемые дамы и господа!
Помогите пожалуйста.
Дано три файла:
Шаблон.xlsm
Данные.xlsx
Прайс.xlsx
Задача: во время импорта данных, нужно сравнить данные в двух книгах (Данные.xlsx и Прайс.xlsx) и записать значение при совпадении в Шаблон.xlsm
Красным подчеркнуты столбцы, которые нужно сравнивать
Зелёным подчеркнуто то, что совпадает при сравнении
Синим подчеркнуто значение, которое при совпадении нужно записать в Шаблон.xlsm в графу Код
Скрытый текст
Изменено: AndreiSMT - 10.12.2024 19:43:53
Разделение текста на две ячейки при импорте из другой книги, Прошу помощи
 
Уважаемые форумчане, помогите пожалуйста подкрутить макрос.
Нужно при импорте разделить текст из одной ячейки на две ячейки.
делителем является только первая запятая с пробелом - ", "
и саму запятую с пробелом нужно исключить при импорте
Скрытый текст
Изменено: AndreiSMT - 10.12.2024 09:04:42
При выборе файла нужен путь в корень диска D, + сохранение файла по определённому пути
 
Уважаемые форумчане, подскажите пожалуйста способ сделать так, что бы при выборе файла всегда открывался корень диска D.
Скрытый текст
И при нажатии на кнопку Сохранить, файл сохранялся не рядом с Шаблон.xlsm, а по указанному пути, например "E:\Прайс.xlsx"
Скрытый текст
[ Закрыто] Макрос для копирования данных из другой книги, + несколько дополнительных задач при импорте данных
 
Уважаемые форумчане, прошу помощи.
Есть два файла: Данные1С.xlsx и Шаблон.xlsm
На основе файла Шаблон.xlsm, после выполнения всех задач макроса, нужно создать ещё задачу: сохранить файл Прайс.xlsx и удалить из этого файла ненужные листы.
Но для начала помогите пожалуйста решить первостепенную задачу:
В файле шаблон нужен макрос, который из файла Данные1С.xlsx скопирует данные и вставит в файл Шаблон.xlsm на лист SMT...
Скрытый текст
И ещё большая просьба, при загрузке файла Шаблон.xlsm, не нужно запускать диалог выбора файла excel из которого нужно делать импорт, а просто спросить: "Импортировать данные из файла?" с кнопками Да или Нет.
Файлы всегда лежат в корне D диска: D:\Данные1С.xlsx и D:\Шаблон.xlsm
Данные, которые нужно импортировать, всегда будут начинаться с 13-й строки в файле Данные1С.xlsx
Некоторые из импортируемых ячеек иногда могут быть пустыми, кроме ячеек графы Код. Т.е. если в графе код начались пустые ячейки то ниже данных уже не будет.
Изменено: AndreiSMT - 22.11.2024 10:21:28
Поиск строк с ошибкой
 
Добрый день уважаемые знатоки и форумчане.
Прошу помощи.
В прикреплённом файле содержится список наименований запчастей на листе товар.
В конце некоторых позиций наши бухгалтера добавляют пробел+слэш+бренд или производитель (пример: Блок фара /ОАО Руденск)
Но как и всем людям, иногда случается допускать ошибки и пробел пропускается и ставится сразу слэш.
На листе бренд расположил список всех наших брендов для возможной индексации формулой.
Задача выявить все строки с ошибкой, т.е. строки в которых не содержится пробел перед слэшем.
Помогите пожалуйста.
Страницы: 1
Loading...