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

Страницы: 1
Нельзя установить свойство weight класса border.
 
Да, действительно, пробовал то же самое на ноуте, никакой ошибки нет. На компе есть. На ноуте установлена 2016 версия офиса, а на компе 2013, хотя, этот файл создан на компе. Получается, от версии зависит ошибка?
Нельзя установить свойство weight класса border.
 
Хорошо, прикреплю.  И кстати, что заметил, если на ячейке или в диапазоне ячеек выскакивает такая ошибка, то и стандартными экселевскими способами не удается установить толстую линию. И что еще заметил, выделяет не только вторую строчку оказывается, например при выделении диапазона D120:F121 выделяет одну строчку, при выделении диапазона D101:F111 выделяет другую строку.  Скрины тоже во вложении.
Нельзя установить свойство weight класса border.
 
Приветствую. Есть макрос, в котором есть кусок кода, который оформляет выделенную ячейку или выделенный диапазон ячеек толстыми линиями:
Код
Selection.Borders.LineStyle = True                                   'устанавливаем тонкие границы
Selection.Borders(xlEdgeBottom).Weight = xlMedium      'устанавливаем нижнюю толстую границу
Selection.Borders(xlEdgeTop).Weight = xlMedium           'устанавливаем верхнюю толстую границу
Selection.Borders(xlEdgeLeft).Weight = xlMedium           'устанавливаем левую толстую границу
Selection.Borders(xlEdgeRight).Weight = xlMedium        'устанавливаем правую толстую границу

Этот код работает практически всегда, в 99% случаев, но иногда на некоторых определенных ячейках выводит ошибку "Нельзя установить свойство weight класса border" и выделяет вторую строчку.
В интернете не нашел информацию. Где то читал про стили, возможно там есть оформление стилями, поэтому не работает, проверял, нет никаких стилей.
Может кто-то встречался с этим, помогите пожалуйста.  
Выделение имени файла из полного пути
 
Цитата
doober написал:
Как то все сложно для меня.
Спасибо большое! только до компа добрался. Название файла выделяет четко, как мне надо, буду использовать.  
Выделение имени файла из полного пути
 
Цитата
Kuzmich написал:
Тема: Выделение имени файла из полного пути
Спасибо большое. Вот добрался до компа. Все работает, и название, и путь выделяет. Только в названии расширение не убирается. Буду использовать для выделения пути к файлу.
Выделение имени файла из полного пути
 
Приветствую. Есть некий код, который считывает название файла методом GetOpenFilename, которая возвращает текст типа
C:\Users\toshiba\Desktop\Прайс-лист DKC с 15.05.2018 V2.xls, которая будет использоваться дальше в коде. Например, при поиске других файлов в директории,где лежит данный файл C:\Users\toshiba\Desktop\....  или использовать только название файла ...\Прайс-лист DKC с 15.05.2018 V2.xls.  Как мне разделить полученный текст на части? И как убрать .xls.  Каким  путем идти и какие методы применять? Написать код за меня не прошу, дайте правильное направление, пожалуйста.  
Поиск в названиях листов. Использование знака *
 
Благодарю!
Поиск в названиях листов. Использование знака *
 
Хорошо, попробую. Я встречал примеры такого поиска. Не подскажете, почему не работает мой способ, на будущее. Если не трудно.
Поиск в названиях листов. Использование знака *
 
Приветствую. Есть макрос, который ищет среди названий листов и определяет количество листов с определенным названием, на этой основе строится дальнейшая логика макроса. Макрос не законченный, для простоты просто вывел на msgbox. Проблема в том, сто если искать слово "Спец", все находит и выводит количество 1, а если искать "Спец*", то выводит 0, а не 3. Где то я что то не так делаю, подскажите пожалуйста. Надо,чтобы искал слово с началом "Спец, а окончание неважно. Могут быть названия листов "Спец обычная", "Спец удешевленная", "Спец на шкаф", ну и т.д.   В моем понимании поиск слова "Спец*" как раз под это подходит, но макрос упорно выводит 0, хотя их там 3, которые подходят по условию.
Использование дробных переменных в формулах
 
Ігор Гончаренко, спасибо, теперь понятно.
Использование дробных переменных в формулах
 
БМВ, спасибо, теперь допёр.
Использование дробных переменных в формулах
 
Цитата
БМВ написал:
"=RC[-2]*" & Replace(coeff, ",", ".") & "
Спасибо! Все работает. Правда, сколько бы не читал про эту функцию, все равно ничего не понял, как она работает, и как она связана с запятыми. Ну да ладно, новичек я пока, пойму со временем.
Использование дробных переменных в формулах
 
Цитата
БМВ написал:
а за тем что коэффициент задается, а основное значение может меняться после.
да, именно так.
Использование дробных переменных в формулах
 
Цитата
Юрий М написал:
Что-то Вы перемудрили с именем листа - к чему такие сложности?
С именем тоже вынужденная мера, в спецификации может быть несколько листов, и в VBA не пропишешь, на какой лист, на какую ячейку вставить формулу. Необходимо определить, с какого листа была активирована эта форма, в какой ячейке было выделение. Поэтому код считывает имя активного листа, координаты выделенного диапазона, и вставляет туда формулу.  
Использование дробных переменных в формулах
 
Цитата
Юрий М написал:
Зачем макросом вставлять формулу? Считайте в коде и вставляйте значение.
Это специфика работы и обсуждению не подлежит, так надо. Короче говоря, это часть сложной системы, для составления спецификаций, и в нем нужно видеть формулы, правильный ли коэффициент использовано, частенько меняются цены, поэтому нужно формулой.  
Использование дробных переменных в формулах
 
Цитата
БМВ написал:
и да и нет. В форме у вас значения через привычную Вам запятую, используйте так.Код ? 1"=RC[-2]*" & Replace(coeff, ",", ".") & ""
Хорошо, попробую так. Этот способ я еще не знаю, буду изучать.
Использование дробных переменных в формулах
 
Добрый вечер всем! Нужна помощь в использовании дробных переменных в формулах, вводимых макросом.
Есть некая пользовательская форма, в которой выбирается скидка галочками и вводится формула с этой скидкой в определенные ячейки в листе.
При выборе первой галочки, все отрабатывается нормально, ошибок нет, при выборе любой другой галочки, появляется ошибка
application-defined or object-defined error.  Понимаю, что это связано с дробными переменными (соответствующую переменную объявил), но не понимаю, в чем именно проблема. Дайте пояснения пожалуйста. Важно, чтобы вводилась именно формула, а не вычисленное значение.
Изменено: komparator07 - 04.12.2019 22:11:28
Программа для быстрой компоновки электрошкафов, Надо создать макрос для сбора нужных данных с нескольких листов с данными в одну спецификацию.
 
   Приветствую.  Во вложении файл "ДЛЯ ЗАКАЗА" с несколькими вкладками. Первая вкладка "Спецификация", в ней мы должны получить готовую спецификацию шкафа, она должна заполняться макросом, макрос берет данные с других вкладок с данными, шапка спецификации остается неизменной (скрин 1). Вкладки "Автоматы", "Шкафы", "Комплектующие" являются вкладками с данными. Данных вкладок может быть много, в зависимости от используемых шкафов, комплектующих, разных производителей. Обязательное условие - вкладки данных мы формируем сами, добавление, убавление, изменение данных в этих вкладках не должна влиять на работу макроса. Структура данных в этих вкладках всегда одинакова - это референс и наименование (скрин 2). Референс может быть пустым (не все изделия имеют референсы), но его пустое место все равно сохраняется (скрин 6). Данные могут быть объединены в группы, располагаться в разных местах по листу (скрин 3) и данное обстоятельство тоже не должно влиять на работу макроса.
  Теперь о кнопках. Во вкладке "Спецификация" необходимо добавить кнопки "Копировать" и "Очистка" (скрин 4). Кнопка "Копировать" должна выделить всю полученную спецификацию вместе с шапкой и скопировать его в буфер обмена (потом я это копирую в другой итоговый файл). Кнопка "Очистка" должна очистить все поле спецификации, не трогая шапку. Эти кнопки оформить разными цветами (не знаю какими, зеленый и красный например). Так же в ленте "Надстройки" в настраиваемой панели инструментов создать кнопку "Добавить" (скрин 5).
Кроме кнопок, в макросе наверно нужно применить еще всплывающее окно для ввода количества. Требования к всплывающему окну: окно небольшое, чтобы не загораживал много места, в ней должно быть поле для ввода количества (именно ввод с клавиатуры, а не стрелки вверх и вниз, меняющее количество), и при появлении окна курсор должен автоматически встать на это поле (чтобы не тыкать мышкой) и кнопка "ОК", так же эта кнопка должна быть связана с кнопкой клавиатуры Enter.
  Теперь принцип работы макроса. Открываю файл, очищаю вкладку "Спецификация", нажав кнопку очистки. Перехожу во вкладку "Шкафы", выбираю нужный мне референс шкафа, выбираю его курсором, нажимаю на кнопку "Добавить" во вкладке "Надстройки". Появляется всплывающее окно ввода количества, ввожу количество с клавиатуры, нажимаю Enter. Всплывающее окно исчезает, макрос во вкладке "Спецификация" находит первую строку после шапки, в первый столбец копирует выбранный референс, на второй столбец копирует наименование, в третий столбец копирует количество, введенный во всплывающем окне. Потом я перехожу на вкладку "Автоматы", выбираю нужный автомат, выбираю его курсором, нажимаю на кнопку "Добавить" во вкладке "Надстройки". Появляется всплывающее окно ввода количества, ввожу количество с клавиатуры, нажимаю Enter. Всплывающее окно исчезает, макрос во вкладке "Спецификация" находит последнюю заполненную строку, переходит на следующую строку, в первый столбец копирует выбранный референс, на второй столбец копирует наименование, в третий столбец копирует количество, введенный во всплывающем окне. Поиск последней заполненной строки необходимо вести по всем трем столбцам ("Референс", "Наименование", "Кол-во"), потому что референс может быть пустым, а количество могу оставить пустым, для последующего уточнения. Дальше, повторяю данные действия с другими комплектующими, необходимое количество раз. Поиск последней строки и копирование данных должно производиться в фоне, без визуального перехода во вкладку "Спецификация", чтобы не мельтешило постоянно. Чтобы я мог перейти в нужную вкладку с данными, добавил все,что мне нужно, перешел в другую вкладку,добавил все необходимое, перешел в следующую ит.д.
  После комплектовки шкафа, перехожу во вкладку "Спецификация", и там должна получиться готовая спецификация шкафа (скрин 7). Нажимаю кнопку "Копировать", макрос кнопки находит нижнюю границу спецификации, выделяет спецификацию вместе с шапкой (шапка начинается со второй строчки, первая строчка общая для всего итогового файла, и копировать его не нужно), и копирует в буфер обмена. После этого я это содержимое ставлю в итоговый файл, проставляю цены с прайсов, и получаю стоимость шкафа.
  Необходимо узнать, кто то сможет взяться за эту работу и за какую сумму сделает . Срок особо не горит, 1-2 неделя.
Страницы: 1
Наверх