Предпочитаемый текущий вариант.
Всплывающая подсказка при наведении курсора на картинку
Макрос для импорта данных из трёх книг + несколько функций во время импорта, и несколько функций после импорта.
Макрос для импорта данных из трёх книг + несколько функций во время импорта, и несколько функций после импорта.
18.02.2025 19:05:17
Уважаемые форумчане, добрый день!
Есть три файла, которые лежат в разных местах: 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 рублей РФ
Изменено: |
|
|
Макрос для сохранения стиля таблицы при преобоазовании формул в значения, Макрос для сохранения стиля таблицы при преобоазовании формул в значения и удаления пустых строк таблицы
06.02.2025 12:01:07
МатросНаЗебре, большое вам человеческое спасибо!
|
|
|
Макрос для сохранения стиля таблицы при преобоазовании формул в значения, Макрос для сохранения стиля таблицы при преобоазовании формул в значения и удаления пустых строк таблицы
Получить значение при совпадении трёх других значений этой же строки
Получить значение при совпадении трёх других значений этой же строки
Получить значение при совпадении трёх других значений этой же строки
Получить значение при совпадении трёх других значений этой же строки
Получить значение при совпадении трёх других значений этой же строки
Получить значение при совпадении трёх других значений этой же строки
30.01.2025 09:57:43
БМВ, Счастливчик, с русскими именами функций сработало! Спасибо большое!
Странно. Неужели моей версии excel нужны именно русские имена функций? |
|
|
Получить значение при совпадении трёх других значений этой же строки
Получить значение при совпадении трёх других значений этой же строки
30.01.2025 08:44:12
Sanim, использую office 2019
Да, всё верно вы говорите, я это всё понимаю что результат идёт по первой колонке, и данные в этой колонке я специально для примера вывел все одинаковые, т.к. произошел у нас казус, что не та цена подставилась, вот по этому и обращаюсь к знатокам.
Изменено: |
|
|
Получить значение при совпадении трёх других значений этой же строки
30.01.2025 07:58:25
Уважаемые форумчане!
В прикреплённом файле на листе "1C" в столбце "Цена 2" прописал формулу:
Рядом создал графу "Нужный результат" Нужно чтобы подставлялась цифра из листа "Price" и именно из той строки в которой совпадают значения трёх ячеек. Ещё важно понимать, что привязываться к номеру строки нельзя, т.к. прайс на самом деле на 5 тысяч позиций и номера строк постоянно меняются. Надеялся, что 3-я строка из формулы будет работать примерно с таким содержанием:
Изменено: |
|||||
|
Макрос для импорта данных из двух книг и автоматическое сохранение файла
Макрос для импорта данных из двух книг и автоматическое сохранение файла
16.12.2024 13:57:59
Уважаемые форумчане, добрый день!
Есть два файла, которые лежат в разных местах: 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 рублей РФ
Изменено: |
|||
|
Сравнить данные в двух сторонних книгах и записать значение при совпадении, Помогите пожалуйста
Сравнить данные в двух сторонних книгах и записать значение при совпадении, Помогите пожалуйста
13.12.2024 07:17:19
Hugo, Sanja, я так понял вы с сарказмом шутите над глупым юзером,
![]() а я понять немогу почему все строки не импортируются. Помогите пожалуйста. Я вас очень очень прошу ![]() Заменил все ii на I, и переменную ii тоже убрал, но изменений не произошло. Все строки, у которых нет совпадений всё равно пустые, а я хотел чтобы пустые были только ячейки в графе Код. Т.е. чтобы вот так было:
![]() |
|||
|
Сравнить данные в двух сторонних книгах и записать значение при совпадении, Помогите пожалуйста
12.12.2024 15:02:29
Hugo, большое вам спасибо.
Если вас не затруднит посмотрите пожалуйста ещё раз этот макрос. Маленький нюанс. Нужно чтобы из файла Данные.xlsx импортировались все строки, даже если в файле Прайс.xlsx нет совпадающих строк. Т.е. в коде, который вы написали, нужно где-то добавить условие, если совпадений нет, пусть эта ячейка будет пустой. В текущем файле Прайс.xlsx не хватает нескольких совпадающих строк, но нужно чтобы из файла Данные.xlsx импортировались все строки.
Изменено: |
|
|
Сравнить данные в двух сторонних книгах и записать значение при совпадении, Помогите пожалуйста
Сравнить данные в двух сторонних книгах и записать значение при совпадении, Помогите пожалуйста
10.12.2024 19:43:15
Уважаемые дамы и господа!
Помогите пожалуйста. Дано три файла: Шаблон.xlsm Данные.xlsx Прайс.xlsx Задача: во время импорта данных, нужно сравнить данные в двух книгах (Данные.xlsx и Прайс.xlsx) и записать значение при совпадении в Шаблон.xlsm Красным подчеркнуты столбцы, которые нужно сравнивать Зелёным подчеркнуто то, что совпадает при сравнении Синим подчеркнуто значение, которое при совпадении нужно записать в Шаблон.xlsm в графу Код
Изменено: |
|||
|
Разделение текста на две ячейки при импорте из другой книги, Прошу помощи
Разделение текста на две ячейки при импорте из другой книги, Прошу помощи
Разделение текста на две ячейки при импорте из другой книги, Прошу помощи
10.12.2024 09:03:36
Уважаемые форумчане, помогите пожалуйста подкрутить макрос.
Нужно при импорте разделить текст из одной ячейки на две ячейки. делителем является только первая запятая с пробелом - ", " и саму запятую с пробелом нужно исключить при импорте
Изменено: |
|||
|
При выборе файла нужен путь в корень диска D, + сохранение файла по определённому пути
09.12.2024 09:51:31
Добавил строку: ChDrive "D" и всё заработало:
Изменено: |
|||
|
При выборе файла нужен путь в корень диска D, + сохранение файла по определённому пути
При выборе файла нужен путь в корень диска D, + сохранение файла по определённому пути
[ Закрыто] Макрос для копирования данных из другой книги, + несколько дополнительных задач при импорте данных
09.12.2024 07:43:39
Sanja, и уважаемые форумчане, гляньте пожалуйста на мои небольшие изменения в макросе.
Я кое-как нашел в сети способ выбора файла и прописал в макросе. Вроде работает. Но я не смог найти способ сделать так, что бы при выборе файла всегда открывался корень диска D. И ещё подскажите пожалуйста как сделать так, чтобы при нажатии на кнопку Сохранить, файл сохранялся не рядом с Шаблон.xlsm, а по указанному пути, напрмер "E:\Прайс.xlsx" |
|
|
[ Закрыто] Макрос для копирования данных из другой книги, + несколько дополнительных задач при импорте данных
[ Закрыто] Макрос для копирования данных из другой книги, + несколько дополнительных задач при импорте данных
07.12.2024 10:40:36
Уважаемые форумчане, подскажите пожалуйста, что можно сделать чтобы прикрепленный файл всегда открывался поверх всех окон с диалоговым вопросом об импорте данных.
Запускаю из тотала и из проводника, и всё одинаково... И проводник и тотал всегда остаются поверх. Если убрать из макроса диалог с вопросом об импорте, тогда всё нормально. Но что можно сделать чтобы и диалог с вопросом импорта остался и открывался поверх все окон?
Изменено: |
|
|