Есть три файла, которые лежат в разных местах: 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", и удалила бы все строки, в которых найдено это слово.
Макрос для сохранения стиля таблицы при преобоазовании формул в значения, Макрос для сохранения стиля таблицы при преобоазовании формул в значения и удаления пустых строк таблицы
но результат этой формулы не устраивает. Рядом создал графу "Нужный результат"
Нужно чтобы подставлялась цифра из листа "Price" и именно из той строки в которой совпадают значения трёх ячеек. Ещё важно понимать, что привязываться к номеру строки нельзя, т.к. прайс на самом деле на 5 тысяч позиций и номера строк постоянно меняются. Надеялся, что 3-я строка из формулы будет работать примерно с таким содержанием:
Уважаемые форумчане, добрый день! Есть два файла, которые лежат в разных местах: 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 нужно удалить кнопку Обновить.
Уважаемые дамы и господа! Помогите пожалуйста. Дано три файла: Шаблон.xlsm Данные.xlsx Прайс.xlsx Задача: во время импорта данных, нужно сравнить данные в двух книгах (Данные.xlsx и Прайс.xlsx) и записать значение при совпадении в Шаблон.xlsm Красным подчеркнуты столбцы, которые нужно сравнивать Зелёным подчеркнуто то, что совпадает при сравнении Синим подчеркнуто значение, которое при совпадении нужно записать в Шаблон.xlsm в графу Код
Уважаемые форумчане, помогите пожалуйста подкрутить макрос. Нужно при импорте разделить текст из одной ячейки на две ячейки. делителем является только первая запятая с пробелом - ", " и саму запятую с пробелом нужно исключить при импорте
И при нажатии на кнопку Сохранить, файл сохранялся не рядом с Шаблон.xlsm, а по указанному пути, например "E:\Прайс.xlsx"
Скрытый текст
Sub SavePrice() Application.ScreenUpdating = False Application.DisplayAlerts = False On Error Resume Next With ThisWorkbook .Worksheets("SMT").Copy ActiveWorkbook.Worksheets(1).DrawingObjects.Delete ActiveWorkbook.SaveAs Filename:=.Path & Application.PathSeparator & "Прайс.xlsx", _ FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False End With Application.ScreenUpdating = True End Sub
Уважаемые форумчане, прошу помощи. Есть два файла: Данные1С.xlsx и Шаблон.xlsm На основе файла Шаблон.xlsm, после выполнения всех задач макроса, нужно создать ещё задачу: сохранить файл Прайс.xlsx и удалить из этого файла ненужные листы. Но для начала помогите пожалуйста решить первостепенную задачу: В файле шаблон нужен макрос, который из файла Данные1С.xlsx скопирует данные и вставит в файл Шаблон.xlsm на лист SMT...
Скрытый текст
И ещё большая просьба, при загрузке файла Шаблон.xlsm, не нужно запускать диалог выбора файла excel из которого нужно делать импорт, а просто спросить: "Импортировать данные из файла?" с кнопками Да или Нет. Файлы всегда лежат в корне D диска: D:\Данные1С.xlsx и D:\Шаблон.xlsm Данные, которые нужно импортировать, всегда будут начинаться с 13-й строки в файле Данные1С.xlsx Некоторые из импортируемых ячеек иногда могут быть пустыми, кроме ячеек графы Код. Т.е. если в графе код начались пустые ячейки то ниже данных уже не будет.
Добрый день уважаемые знатоки и форумчане. Прошу помощи. В прикреплённом файле содержится список наименований запчастей на листе товар. В конце некоторых позиций наши бухгалтера добавляют пробел+слэш+бренд или производитель (пример: Блок фара /ОАО Руденск) Но как и всем людям, иногда случается допускать ошибки и пробел пропускается и ставится сразу слэш. На листе бренд расположил список всех наших брендов для возможной индексации формулой. Задача выявить все строки с ошибкой, т.е. строки в которых не содержится пробел перед слэшем. Помогите пожалуйста.