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

Страницы: 1
Аккумулирование заказов и обновление остатков в реальном времени
 
Как вариант можно использовать базу данных на Access. Разместить базу на сетевом ресурсе. В книге создать подключение к этой базе. При оформлении заказа вносить корректировки в базу и сразу же обновлять данные
Подсчет макросом (аналог "СЧЕТЕСЛИ") количества ячеек содержащих определенное значение
 
В итоге получаем следующий код:
Код
' Задаем переменные
Dim x1 As Single, x2 As Single
Dim xrange As Range
Set ws2 = ThisWorkbook.Worksheets("Лист1")
Set xrange = ws2.Range("A2:H2")

' Спрашиваем у пользователя значения
x1 = InputBox("Введите начальное значение")
x2 = InputBox("Введите конечное значение")

' Вычисляем
ws2.Range("C8").Value = Application.WorksheetFunction.CountIfs(xrange, ">" & Val(x1), xrange, "<" & Val(x2))
Изменено: Сергей Калентьев - 06.03.2017 02:02:52 (Добавил файл-пример)
Подсчет макросом (аналог "СЧЕТЕСЛИ") количества ячеек содержащих определенное значение
 
Как я поступаю в таких случаях:
1. Сначала я создаю обычную формулу в ячейке. Например:
Код
=СЧЁТЕСЛИМН(A2:H2;">5";A2:H2;"<10")

2. Затем с помощью макрорекордера вставляю полученную формулу в любую ячейку. После этого останавливаем запись и видим следующий код:

Код
ActiveCell.FormulaR1C1 = "=COUNTIFS(R[-9]C:R[-9]C[7],"">5"",R[-9]C:R[-9]C[7],""<10"")"

3. Теперь мы можем на основе старого кода внести необходимые правки и получить необходимый вариант.
Изменено: Сергей Калентьев - 06.03.2017 01:53:41
Подсчет макросом (аналог "СЧЕТЕСЛИ") количества ячеек содержащих определенное значение
 
Код
Dim xx As Integer
Dim uslovie As String
uslovie = ">" & Val(xx)

ws2.Range("C8").Value = Application.WorksheetFunction.CountIf(xrange, uslovie)
Как запретить ввод времени раньше фактического?
 
Можно попробовать через "Проверку данных", как и предложил Dima S, однако "хитрые" пользователи смогут ее убрать. В таком случае придется либо защиту листа включать, либо через макрос реализовывать. А у вас есть возможность работы с макросами? (знаю, что в некоторых организациях их блокируют сисадмины)
vba. Оптимальный способ переноса данных из книги
 
Вы также можете использовать такой "вариант" копирования. Часто его использую. Переносит значения адекватно (по крайней мере в моем случае)
Код
    Workbooks(Reestr_Nazvanie).Sheets("Главная").Range("B1").Copy
    Workbooks(Tranzitka_Nazvanie).Sheets("CONFIG").Range("U2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
Интерфейс программы на VBA, Нужен совет по поводу оформления
 
Накидал вчера несколько разных вариантов. Показал сегодня пользователям, а в ответ услышал: "ничего не меняй, мы уже к этому привыкли"...
Блин, реально "на вкус и цвет все фломастеры разные". Меня до конца не устраивает, а им нормально =)
В связи с этим оставлю пока интерфейс без изменений. Всем большое спасибо за подсказки и с наступающим 2017ым!!!
Интерфейс программы на VBA, Нужен совет по поводу оформления
 
Цитата
Ronin751 написал:
Для себя решил эту проблему за счет использования СУБД Аксес.
У меня как раз в нем и хранится база. В самом Excel созданы подключения к ней. Пользователь обновляет данные при необходимости.
Цитата
Ronin751 написал:
ИМХО: я бы на столько нагроможденную форму не делал, а разбил бы на несколько. А то от множества контролов глаза разбегаются.
К сожалению я не могу разбить ее на несколько частей (только с помощью фреймов разделил), ибо пользователю нужны все эти поля. Единственно, фрейм с налоговой строкой скрывается при некоторых условиях.

Еще поковыряюсь, попробую подобрать гамму так, чтобы стало получше.
Интерфейс программы на VBA, Нужен совет по поводу оформления
 
Цитата
vikttur написал:
Закладка System - системные настройки и красивая форма на одной машине может выглядеть ужасно на другой.
Знаю сталкивался. Когда запустил форму в Excel 2007 (сам я работаю в 2016-ом). Видимо, выбранная мною раскраска просто отсутствовала в старом офисе, в следствии чего он просто заменил его на "похожий" цвет, который оказался ужасным.

Попробовал поэксперементировать с цветом. Выходит нечто такое: ссылка в мое облако
Изменено: Сергей Калентьев - 30.12.2016 03:49:59 (Добавил в облако тестовый файл с формами)
Интерфейс программы на VBA, Нужен совет по поводу оформления
 
vikttur, подскажите, плиз, как сделать чтобы:
  • фон Frame совпадал по цвету с фоном Form? (его нельзя стандартными средствами сделать прозрачным)

  • как выровнять текст в Label по вертикали?
Интерфейс программы на VBA, Нужен совет по поводу оформления
 
Добрый день. Разрабатываю небольшую программу на VBA, в которой пользователь работает полностью в графическом интерфейсе (через UserForm). Пример (jpg файл. Залил в облако, ибо размер больше 100 Кб.)
Нужны ваши мнения по поводу этого интерфейса: подбор цветов, группировки и расположения элементов, да и в общем внешнего вида.
Сам я интерфейс переделывал уже несколько раз, но как-то не получается прийти "к идеалу".
Надеюсь на вашу помощь.
П.с. при необходимости могу выложить файлик только с формой (без формул и кода)
Разбить текст по нескольком строкам
 
Я сталкивался с ситуацией, когда нужно разбить текст на две строки. Если в первую он полностью не помещается, то ищется пробел между словами и остальная часть переходит во вторую строку. Решается с помощью формул. Могу показать пример
Поиск в тексте сразу нескольких значений, Проверка на наличие в тексте хотя бы одного значения из массива
 
Сейчас проверил. При вводе "201" формула отрабатывает корректно.
Ну на автоматизацию надейся, а сам глазами проверяй =) Так что я все равно предварительно все просматриваю.
Еще раз вам огромное спасибо за отличное решение моей проблемы.
Поиск в тексте сразу нескольких значений, Проверка на наличие в тексте хотя бы одного значения из массива
 
Мне пришлось убрать пробелы, так как в поле может быть диапазон. Например: 2014-2016 г.
В таком случае пробелы помешают поиску.
Еще проблема в том, что таблицу заполняю не я, а другие люди. Часто данные указываются "как попало".
Я правильно понимаю, что при поиске * - это любое количество символов, а вот ? - один символ?
Поиск в тексте сразу нескольких значений, Проверка на наличие в тексте хотя бы одного значения из массива
 
gling, Спасибо вам огромное! Все получилось. Правда переделал немного формулу. В итоге получилось так:
Код
=ЕСЛИ(И(B10=0;ДЛСТР(H10)=0);"Верно";ЕСЛИ(И(B10<>0;ДЛСТР(H10)>0;ЕОШИБКА(ПОИСК("*201?*";H10;1))=ЛОЖЬ);"Верно";"Ошибка"))
Сортировка таблицы, с учетом групп данных внутри
 
Как вариант сначала использовать Условное форматирование. С помощью него задать заливку ячейкам по цвету (Например, ячейки с "1" будут желтые. Потом через фильтр их будет просто расставить
Поиск в тексте сразу нескольких значений, Проверка на наличие в тексте хотя бы одного значения из массива
 
Файл с примером.
Проверка необходима для ячеек H10:H209 (Проверка будет для каждой отдельной ячейки по такому же принципу, как и в столбцах M - T.
Необходимо проверить, указал ли пользователь год. Любой из диапазона от 2017 до 2012 (Имхо, дальше 2012 года проверять нет смысла).

Цитата
gling написал:
Попробуйте СЧЁТЕСЛИ(), можно указать весь диапазон.
Сейчас попробую
Изменено: kotlserg - 16.10.2016 19:48:18
Поиск в тексте сразу нескольких значений, Проверка на наличие в тексте хотя бы одного значения из массива
 
Добрый день. Столкнулся с одной проблемой, надеюсь на вашу помощь.
Имеется таблица, где пользователи должны заполнять поля. Одно из полей имеет вид "оплата транспортного налога за 2016 г.".
Суть в том, что необходима формула, которая будет проверять, указан ли в этом тексте год (2017, 2016, 2015 и т.д.)
Проблема в том, что функция поиск ищет только по одному условию, а мне нужен сразу диапазон.
Ранее я уже решил эту проблему, но пришлось делать кучу условий:
ЕСЛИ(ЕЧИСЛО(ПОИСК("2017";AN2))=ИСТИНА;"ГД.00.2017";(ЕСЛИ(ЕЧИСЛО(ПОИСК("2016";AN2))=ИСТИНА;"ГД.00.2016";(ЕСЛИ(ЕЧИСЛО(ПОИСК("2015";AN2))=ИСТИНА;"ГД.00.2015";(ЕСЛИ(ЕЧИСЛО(ПОИСК("2014";AN2))=ИСТИНА;"ГД.00.2014";(ЕСЛИ(ЕЧИСЛО(ПОИСК("2013";AN2))=ИСТИНА;"ГД.00.2013";(ЕСЛИ(ЕЧИСЛО(ПОИСК("2012";AN2))=ИСТИНА;"ГД.00.2012";"0")))))))))))).
Есть ли способ упростить формулу? Надеюсь на вашу помощь.
П.с. макросом нельзя
Изменено: kotlserg - 16.10.2016 18:31:42 (Не допечатал текст до конца =))
Страницы: 1
Наверх