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

Страницы: 1 2 След.
Импорт данных даже если первая ячейка пустая
 
Sanja, большое вам спасибо!
Импорт данных даже если первая ячейка пустая
 
Уважаемые форумчане, помогите пожалуйста исправить код макроса чтобы импорт данных работал даже если первая ячейка пустая.
Для теста, оба файла должны лежать в одной папке.
В файле Шаблон.xlsb зелёная кнопка вызывает импорт из файла Заказ.xlsx
Если в файле Заказ.xlsx в ячейке D7 или R7C4 будет прописана цифра, то всё работает, но если пусто, то срабатывает ошибка Run-time error '9': Subscript out of range. И по кнопке Debug выделяется желтым строка макроса:
Код
arr(I + ii, 4) = a(x)(I, 3) 'Заказ (Заказ)
Макрос: удалить скрытые автофильтром строки
 
МатросНаЗебре, большое спасибо!
Макрос: удалить скрытые автофильтром строки
 
Jack Famous, спасибо большое!
Макрос из последнего сообщения работает превосходно, но как сделать чтобы он работал не на всех листах, а только на определённой умной таблице?
Объединить формулу с формулой диапазона
 
ПавелW,  8-0, вы гений! Спасибо вам большое!
Объединить формулу с формулой диапазона
 
ПавелW, работает! Огромное вам спасибо!
Объединить формулу с формулой диапазона
 
Уважаемый форучане, добрый день!
В прикреплённом файле на листе Brand формула диапазона выводит требуемый результат, но такой результат я смог получить только при обращении к столбцу Test на листе 1С, в котором содержится формула.
Помогите пожалуйста объединить формулу.
Задача избавиться от столбца Test на  листе 1С.
Изменено: AndreiSMT - 11.08.2025 06:44:04
Условное форматирование на динамическом массиве
 
ПавелW, спасибо вам большое! Работает!
Условное форматирование на динамическом массиве
 
Msi2102, да, я именно из этого урока узнал, что в моём случае нельзя использовать умную таблицу для динамического массива. Просто у меня немного другая задача.
Изменено: AndreiSMT - 08.08.2025 05:57:40
Условное форматирование на динамическом массиве
 
Sanja, я честно говоря не понимаю о чём вы. Ткните пожалуйста носом, что бы понять где именно я должен записать эту ссылку?
Условное форматирование на динамическом массиве
 
Уважаемые форумчане, прошу вашего внимания.
Подскажите пожалуйста можно ли как-то сделать чтобы условное форматирование срабатывало только на строках динамического массива, а на строках, в которых данных нет, условное форматирование не срабатывало.
Всплывающая подсказка при наведении курсора на картинку
 
Предпочитаемый текущий вариант сделан на основе примера от Tim Williams и примера от Jaafar Tribak
Изменено: AndreiSMT - 04.08.2025 13:35:59
Макрос для импорта данных из трёх книг + несколько функций во время импорта, и несколько функций после импорта.
 
Hugo, большое вам спасибо!
Макрос для импорта данных из трёх книг + несколько функций во время импорта, и несколько функций после импорта.
 
Уважаемые форумчане, добрый день!

Есть три файла, которые лежат в разных местах:
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
Получить значение при совпадении трёх других значений этой же строки
 
Sanja, благодарю
Получить значение при совпадении трёх других значений этой же строки
 
Sanja, так мне не составит труда поставить последнюю версию Office.
Подскажите формулу пожалуйста.
Получить значение при совпадении трёх других значений этой же строки
 
Sanja, вы тут самый активный, подскажите пожалуйста, какую формулу для решения этой задачи использовали бы именно вы?
Получить значение при совпадении трёх других значений этой же строки
 
Sanja,
Требуется получить значение при совпадении трёх других значений этой же строки
Получить значение при совпадении трёх других значений этой же строки
 
Sanja,
Функция ИНДЕКС в паре с функцией ПОИСКПОЗ не повзоляет получить нужный результат.
Нужна другая формула.
Получить значение при совпадении трёх других значений этой же строки
 
БМВ, Счастливчик, с русскими именами функций сработало! Спасибо большое!
Странно. Неужели моей версии excel нужны именно русские имена функций?
Получить значение при совпадении трёх других значений этой же строки
 
БМВ, поменял все запятые на точку с запятой:
Код
=IFERROR(1/(1/SUMIFS(Price!D:D;Price!A:A;A2;Price!B:B;B2;Price!C:C;C2));F2)
но формула всё равно не работает  :cry:  
Получить значение при совпадении трёх других значений этой же строки
 
Sanim, использую office 2019
Да, всё верно вы говорите, я это всё понимаю что результат идёт по первой колонке, и данные в этой колонке я специально для примера вывел все одинаковые, т.к. произошел у нас казус, что не та цена подставилась, вот по этому и обращаюсь к знатокам.
Изменено: AndreiSMT - 30.01.2025 08:48:05
Получить значение при совпадении трёх других значений этой же строки
 
Уважаемые форумчане!
В прикреплённом файле на листе "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
Макрос для импорта данных из двух книг и автоматическое сохранение файла
 
Шаблон перезалил в шапке.
Большое спасибо господину online
Макрос для импорта данных из двух книг и автоматическое сохранение файла
 
Уважаемые форумчане, добрый день!
Есть два файла, которые лежат в разных местах:
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
Сравнить данные в двух сторонних книгах и записать значение при совпадении, Помогите пожалуйста
 
Hugo, да, теперь всё отлично!
Большое вам спасибо!
Сравнить данные в двух сторонних книгах и записать значение при совпадении, Помогите пожалуйста
 
Hugo, Sanja, я так понял вы с сарказмом шутите над глупым юзером,  :)
а я понять немогу почему все строки не импортируются.
Помогите пожалуйста. Я вас очень очень прошу  :)
Заменил все ii на I, и переменную ii тоже убрал, но изменений не произошло.
Все строки, у которых нет совпадений всё равно пустые, а я хотел чтобы пустые были только ячейки в графе Код.
Т.е. чтобы вот так было:
Скрытый текст
Я только теперь понял, что не уточнил этот момент сразу. Простите меня пожалуйста  :oops:  
Сравнить данные в двух сторонних книгах и записать значение при совпадении, Помогите пожалуйста
 
Hugo, большое вам спасибо.
Если вас не затруднит посмотрите пожалуйста ещё раз этот макрос. Маленький нюанс.
Нужно чтобы из файла Данные.xlsx импортировались все строки, даже если в файле Прайс.xlsx нет совпадающих строк. Т.е. в коде, который вы написали, нужно где-то добавить условие, если совпадений нет, пусть эта ячейка будет пустой.
В текущем файле Прайс.xlsx не хватает нескольких совпадающих строк, но нужно чтобы из файла Данные.xlsx импортировались все строки.
Изменено: AndreiSMT - 12.12.2024 15:59:00
Страницы: 1 2 След.
Наверх