×
×
+ Ответить в теме
Показано с 1 по 2 из 2
  1. #1

    Книга Excel, которая сама создаёт таблицу.

    Я создал Excel книгу, которая сама строит таблицу по формулам. Можете скачать бесплатную демонстрационную версию здесь и посмотреть на примере формулы по расчёту производительности труда, или своей - какую пожелаете.
    Если вам интересно, пишите в сообщения.
    Вложения Вложения
    Поделиться с друзьями

  2. #2
    Клерк
    Регистрация
    17.12.2010
    Сообщений
    169
    Неплохо
    записано 09.09.2018
    Не вникал полностью, только несколько замечаний (далеко не полный перечень).
    1. Процедуры следует размещать в общих модулях. В модуле книги - то, что касается обработки книги (открытие, закрытие...), в модулях листов - обработка событий листов.
    2. В VBA нужно объявлять тип каждой переменной. При перечислении переменных в строке указанный тип присвоится только последней,остальные займут память по максимуму - тип Variant
    3. Много переменных не есть хорошо. Чем больше - тем больше кушаем памяти. Да и запутаться можно в изобилии.
    4. Имена переменным следует давать понятные, по выполняемым ими задачам: lCountRows, sTextErr; счетчики обычно обзываются одной буквой (i, k, j); массивы - aData(), arrText()
    5. Работа с объектами листа медленная. Нужно работать с массивами, это ускоряет вычисления в десятки раз. Обращение к листам - только взять исходные данные и выгрузить результат.
    6. Application.ScreenUpdating = False - перед изменениями на листе отключаем обновление экрана, после завешения изменений включаем (...True). Это ускорит работу кода и устранит "моргание" экрана в процессе обработки листа.
    7. Ошибок типа #ДЕЛ0! нужно избегать в процессе работы с программой и не допускать их появления.
    8. Формулы в таблице можно вообще не писать: вести расчеты в коде при обработке событий изменения листа.
    9. Оператор "+" не только оператор суммирования, но и позволяет объединять текстовые данные. Однако использовать его для работы с текстом не рекомендуется во избежание возможных ошибок. Для сцепления текстов есть знак конкатенации - &
    10. В VBA есть возможность вызова системных окон. Например, для указания директории, в которой нужно схранить созданныю книгу.
    Можно в коде прописать проверку пути. Если нужной папки нет, создать ее.

    В общем - удачи в познании неизведанного
    Последний раз редактировалось vikttur; 17.02.2018 в 14:50.

+ Ответить в теме

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Ваши права

  • Вы можете создавать новые темы
  • Вы можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •