аркуш1 в excel что это

VBA-Урок 1. Что такое VBA. Основные понятия.

В данном разделе мы рассмотрим что такое VBA, посколько именно на нем и пишутся макросы.

Что такое VBA?

Объекты (Objects)

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

Главный объект это Application, что соответствует самой программе Excel. Далее следует Workbooks (книга), Worksheets (лист), Range (диапазон, или отдельная ячейка). Например, чтобы обратиться к ячейке «A1» на листе нам нужно будет прописать следующий путь с учетом иерархии:

Application.Workbooks(«Архив»).Worksheets(«Аркуш1»).Range(«A1»).

Коллекции (Collections)

Свойства (Properties)

Worksheets(“Sheet1”).Range(“A1”).Value або Worksheets(“Sheet1”).Range(“A1”).Formula

В данном примере, свойство отображает значение, которое введено в ячейку или введенную формулу.

Также, через свойство Formula можно не только получить формулу, но и записать ее:

Методи (Methods)

Теперь давайте рассмотрим, каким образом мы можем управлять содержимым диапазона или ячейки. Для этого в VBA существуют, так-называемые методы (команды «что сделать»). При написании кода методы отделяются от объекта точкой, например:

Range(«A1»).Select или Cells(1, 1).Select

Данный метод указывает выбрать (Select) ячейку «A1».
Далее, давайте, удалим значение в данной ячейке. Для этого напишем следующий код:

Selection.ClearContents

Здесь программа «берет» то, что мы выделили (Selection) и удаляет его содержимое (ClearContents ).

Источник

Первое имя таблицы в новой книге Excel отображается на языке, отличном от языка Office отображения

Office 365 ProPlus переименован в Майкрософт 365 корпоративные приложения. Для получения дополнительной информации об этом изменении прочитайте этот блог.

Симптомы

Рассмотрим следующий сценарий.

В этом сценарии имя первого листа в книге Excel может отображаться на языке, который отличается от языка отображения в Microsoft Office. Например, если у Office 365 установлен немецкий, английский и польский языки, имя созданного таблицы отображается на немецком языке, несмотря на то, что английский (или польский) за набором display Language.

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

Причина

При создании книги правой кнопкой мыши в папке и выбора > New > Microsoft Excel Worksheet, Windows Explorer создает копию книги с именем Excel12.xlsx из папки системы с именем SHELLNEW в активной папке. Исходный Excel12.xlsx создается в папке SHELLNEW при установке Office, с именем ее листа по умолчанию на языке, который может отличаться от языка отображения.

Обходной путь

Чтобы исправить это поведение, замените исходный Excel12.xlsx в папке SHELLNEW книгой, которую вы создаете на языке вашего выбора и с тем же именем (Excel12.xlsx).

Папка SHELLNEW расположена в следующей папке (в зависимости от версии и архитектуры Excel и ОС):

Для Office 365 32-битных 64-битных Windows

C:\Program Files (x86)\Microsoft Office\root\vfs\Windows\SHELLNEW

Для 64-Office 365 64-битных Windows

C:\Program Files\Microsoft Office\root\vfs\Windows\SHELLNEW

При следующем создании книги правой кнопкой мыши в папке в активной папке будет создана копия нового Excel12.xlsx с выбранным языком.

Если вы добавляете лист, щелкнув «+» в листе Excel, имя листа отображается в соответствии с языком отображения. Поведение, описанное в разделе Симптомы, применяется только к первому листу. аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

Кроме того, если вы создаете пустую книгу в Excel с помощью экрана Начните или с помощью файла New, первый лист отображается в соответствии с > языком отображения.

Корпорация Майкрософт изучает эту проблему, и опубликует дополнительную информацию в этой статье, когда она станет доступной.

Источник

Сохранение начальных нулей и больших чисел

Вам когда-нибудь приходилось импортировать или вводить в Excel данные, содержащие начальные нули (например, 00123) или большие числа (например, 1234 5678 9087 6543)? Это могут быть номера социального страхования, телефонные номера, номера кредитных карт, коды продуктов, номера счетов или почтовые индексы. Excel автоматически удаляет начальные нули и преобразует большие числа в экспоненциальное представление (например, 1,23E+15), чтобы их можно было использовать в формулах и математических операциях. В этой статье объясняется, как сохранить данные в исходном формате, который Excel обрабатывает как текст.

Преобразование чисел в текст при импорте текстовых данных

Для форматирования отдельных столбцов в виде текста при импорте данных в Excel используйте функцию Получить и преобразовать (Power Query). В этом случае импортируется текстовый файл, однако данные проходят те же этапы преобразования, что и при импорте из других источников, таких как XML, Интернет, JSON и т. д.

Откройте вкладку Данные, нажмите кнопку Получить данные и выберите вариант Из текстового/CSV-файла. Если вы не видите кнопку Получить данные, выберите Создать запрос > Из файла > Из текста, найдите нужный файл и нажмите кнопку Импорт.

Excel загрузит данные в область предварительного просмотра. В области предварительного просмотра нажмите кнопку Изменить, чтобы загрузить Редактор запросов.

Если какие-либо столбцы нужно преобразовать в текст, выделите их, щелкнув заголовок, затем выберите Главная > Преобразовать > Тип данных > Текст.

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

Совет: Чтобы выбрать несколько столбцов, щелкните их левой кнопкой мыши, удерживая нажатой клавишу CTRL.

В диалоговом окне Изменение типа столбца выберите команду Заменить текущие, и Excel преобразует выделенные столбцы в текст.

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что этопреобразование данных в текст» loading=»lazy»>

По завершении нажмите кнопку Закрыть и загрузить, и Excel вернет данные запроса на лист.

Если в дальнейшем ваши данные изменятся, на вкладке Данные нажмите кнопку Обновить, и Excel их автоматически обновит и преобразует.

В Excel 2010 и Excel 2013 импортировать текстовые файлы и преобразовывать числа в текст можно двумя способами. Рекомендуется использовать Power Query (для этого нужно скачать надстройку Power Query). Если надстройку Power Query скачать не удается, можно воспользоваться мастером импорта текста. В этом случае импортируется текстовый файл, однако данные проходят те же этапы преобразования, что и при импорте из других источников, таких как XML, Интернет, JSON и т. д.

На ленте откройте вкладку Power Query и выберите Получение внешних данных > Из текста.

Excel загрузит данные в область предварительного просмотра. В области предварительного просмотра нажмите кнопку Изменить, чтобы загрузить Редактор запросов.

Если какие-либо столбцы нужно преобразовать в текст, выделите их, щелкнув заголовок, затем выберите Главная > Преобразовать > Тип данных > Текст.

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

Совет: Чтобы выбрать несколько столбцов, щелкните их левой кнопкой мыши, удерживая нажатой клавишу CTRL.

В диалоговом окне Изменение типа столбца выберите команду Заменить текущие, и Excel преобразует выделенные столбцы в текст.

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что этопреобразование данных в текст» loading=»lazy»>

По завершении нажмите кнопку Закрыть и загрузить, и Excel вернет данные запроса на лист.

Если в дальнейшем ваши данные изменятся, на вкладке Данные нажмите кнопку Обновить, и Excel их автоматически обновит и преобразует.

Применение пользовательского формата для сохранения начальных нулей

Если эту задачу необходимо решить в пределах книги, поскольку она не используется другими программами в качестве источника данных, для сохранения начальных нулей можно использовать пользовательский или специальный формат. Этот способ подходит для цифровых кодов, содержащих менее 16 цифр. Цифровые коды также можно отформатировать с использованием дефисов или других знаков препинания. Например, чтобы сделать телефонные номера более удобными для чтения, можно добавить дефисы между международным кодом, кодом области, префиксом и остальными цифрами.

Источник

Московский подрядчик. Форма акта сдачи-приемки в Excel

Не нравилось мне то, что:
1. С первого раза и без 100 грамм инструкции не разобраться.

2. Суммы надо прописывать словами, а форма сделана в word.

Несколько раз я доблестно ручками впечатывала цифры буквами, злилась, а потом плюнула, да и начала делать эту форму в excel, потому что:

3. Ускоряет подготовку акта.

. Данная форма акта разработана для работы с суммами контракта до 999 999 999,99 руб.

1. Лист FAQ, который содержит пояснения по порядку заполнения, а так же пароль на локальные места на листах, если возникнет необходимость что-то поменять.

Изменения можно вносить в серые ячейки (пароль на изменение на листе FAQ).

Синие изменить не получится.

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

Если нарастающий итог превысит сумму акта, то в ячейке «Примечание» появится сообщение. (пример на картинке ниже)

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

MS, Libreoffice & Google docs

473 поста 12.8K подписчиков

Правила сообщества

2. Публиковать посты соответствующие тематике сообщества

3. Проявлять уважение к пользователям

4. Не допускается публикация постов с вопросами, ответы на которые легко найти с помощью любого поискового сайта.

По интересующим вопросам можно обратиться к автору поста схожей тематики, либо к пользователям в комментариях

Ниже ссылки на исправленный файл.

А формы КС-2 и КС-3 отменили уже?

Спасибо большое человеческое, добрый человек! Утащила🤗

Эксель великая вещь! В нём что угодно создать можно. Особенно циклические вычисления со сравниваемым параметром меня умилили (в хорошем смысле этого слова). Прочностные и ресурсные расчёты становятся приятным жонглированием цифирок 😉

Вообще для этой цели есть Access, а не Excel )

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

Смета на госконтракты не дает строителям возможности получить даже минимальную прибыль – эксперт

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

Новая правительственная мера поддержки строительной отрасли не помешает, но и не станет чем-то переломным. Такой точкой зрения с «Альянс HELP» поделился экс-директор филиала банка «ДОМ.РФ» Андрей Власов.

«Увеличение стоимости договора как таковое – вещь полезная, но проблем не решит. Возможность в определенных пределах изменять стоимость договоров либо выполнять скорректированный объем работ была и ранее, просто она требовала более сложной юридической подготовки», – констатировал эксперт.

Как уточнил представитель отрасли, основная сложность с госконтрактами сегодня заключается в несоответствии сметных расценок на работу и материалы даже их фактической себестоимости.

«Я уже не говорю про хотя бы минимальную прибыль в 10%. Большинство строительных материалов, которые учтены в территориальных и федеральных расценках, на сегодняшний момент по фактической своей закупной стоимости на 30% и более дороже, чем они есть в сметах. То же самое и в отношении работ, по отдельным расценкам разница может быть и в два, и в три раза. Но если раньше этот минус по работам мог компенсироваться какой-то прибылью по материалам, сейчас ситуация такова, что и работы – минусовые, и материалы – минусовые», обозначил Андрей Власов.

Руководитель ООО «Амурская производственная компания» добавил, что речь именно об общестроительных работах, то есть тех, где заняты 80-90% людей в строительной отрасли.

«Вот там именно такая ситуация сейчас. И без изменения сметных расценок либо без того, чтобы использовать в сметах с государственными заказчиками хотя бы коммерческие цены на материалы, крайне сложно будет работать с прибылью», – подытожил эксперт.

Напомним, премьер-министр РФ Михаил Мишустин подписал постановление, запускающее механизм, который позволит компенсировать дополнительные расходы застройщиков. Эта мера поддержки оказалась необходима в связи с существенным удорожанием стройматериалов. Теперь согласованию сторон возможно увеличивать цену госконтракта на строительство, реконструкцию и капремонт, а также на проведение работ по сохранению объектов культурного наследия. Фиксируется, что изменение стоимости не должно превышать 30%.

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

#Стихиявдоме. Ч.7 Фундамент. Проект фундамента каркасного дома 6х9

Наконец-то добрались до настоящей стройки, а не вот это вот «вжик-вжик по кустикам». Ждали? Ну ждали ведь, правда!?

Но прежде закрою долг перед @kluevert, @Papiro, @splurgeola, @yasenevandrey. В прошлом посте я говорил, что сделал электричество, а потом только скважину. Но на части фото видно, что при бурении еще нет столба со счетчиком. Перепутал очередность работ, хотя там по времени не особо разбежка была. Хронически виноват)

Еще в прошлой части с эскизным проектом я уже приблизительно представлял насколько весомая затея получается у нас с женой.

Ввиду легкости конструкции, наличия уклона и нерезинового бюджета, выбор пал на столбчатый фундамент. Смотрел и ТИСЭ, но уж больно мудрено. А на столбчатый и исполнителей искать проще и процесс контролируется легко. Мысль была и самому сделать, но по времени выходило очень затратно, с учетом того, что была возможность выделять только выходные и помогать мне было некому.

Почитал СНиП 3.02.01-87 и более свежий документ СП 45.13330.2017. Нашел толковый проект, который и переделывал под себя в итоге, дабы передать в руки строителей. Ссылка на файл проекта бонусом внизу поста.

Получилась у меня вот такая свая:

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

За ней следом план свайного поля:

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

Посчитал сколько бетона надо будет, потом прикинул пропорции песка и щебня. Заказал ГАЗон того и другого (в прошлой части было). Еще и цемента привез.

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

Подготовил все, разметил.

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

Для опалубки под заливку использовалась вентиляционная труба.

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

Пакетом накрыл чтобы не было слишком быстрого испарения влаги из бетона. Внизу тоже пакет на трубе. Там он для того, чтобы цементное молочко в землю меньше уходило.

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

Наши затраты на данный этап:

— Шпильки 12мм 944,00

— Мешки для мусора 180л 370,00

— Шпагат 500м желтый 150,00

— Шпагат 500м красный 350,00

— Цемент м400 4 950,00

— Рубероид РПП300 1 140,00

— Работа (+вент.трубы и арматура) 38 000,00

Затраты на этап: 54 150 р.

Итого затраты: 422 048 р.

P.s. Чего добавить в посты? Что убрать? Учитывается каждое мнение.

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

Каркасник своими руками. Смета, цены на строительство

Я победила лень и даже нарисовала графики)

Если не читали предыдущие посты, вкратце:

Дом не рухнул, все збс, каркасником довольны.

Затраты на сегодняшний день с нуля:

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

Пару слов о том, как все же считать цену на дом.

Вот купили вы квартиру. Есть допустим 3 млн стоимость квартиры (коробка в случае дома), начали делать отделку + 1 млн, но не будете же вы жить без плиты и холодильника (техники, если раньше ее не было) + 200 тыс. Итого 4,2 млн и вы въехали. Все просто.

Если же дом, можно посчитать отдельно коробку и отделку, но вы не сможете жить без септика, забора, подключения коммуникаций, без дорожек, как минимум.

Для жизни в доме нужна не только теплая коробка, но и внешние траты, фасад например.

Но конечно эту сумму я разбила на статьи)):

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

Серия постов, в которой все расписано подробно:

Про что еще рассказать?)

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

Рабочие истории

История произошла пару лет назад.

Один уважаемый обувной гигант нашего края, имея в нашем городке свой магазин сбыта, решил заменить в нем настенный газовый котел на аналогичный по мощности и марке, также заменить всю автоматику безопасности котельной, плюс исправление грехов по внутреннему газопроводу. С нашей стороны была составлена локальная смета без накруток, цену за котел заложили со всем известного магазина на букву «Ю» и запланировали закупить его там же, если «договоримся» работать. Стоимость котла составляла 50 тыс.руб. Цена работ с сопутствующими материалами составила примерно 30 т.р. Заранее делаю оговорку: мы «упрощенцы» (доход-расход).

Работать с ребятами отказались. Потом были безуспешные попытки Заказчика через третьих лиц уговорить нас поработать. В конечном итоге, доведя дело до конца осени, подмерзавшему магазину пришлось искать вольных работников с оплатой труда «наликом». «Налик» за труд был оплачен в том же объеме, что и предлагался нами.

Источник

Автоматизация рутины в Microsoft Excel при помощи VBA

В этом посте я расскажу, что такое VBA и как с ним работать в Microsoft Excel 2007/2010 (для более старых версий изменяется лишь интерфейс — код, скорее всего, будет таким же) для автоматизации различной рутины.

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

VBA (Visual Basic for Applications) — это упрощенная версия Visual Basic, встроенная в множество продуктов линейки Microsoft Office. Она позволяет писать программы прямо в файле конкретного документа. Вам не требуется устанавливать различные IDE — всё, включая отладчик, уже есть в Excel.

Еще при помощи Visual Studio Tools for Office можно писать макросы на C# и также встраивать их. Спасибо, FireStorm.

Сразу скажу — писать на других языках (C++/Delphi/PHP) также возможно, но требуется научится читать, изменять и писать файлы офиса — встраивать в документы не получится. А интерфейсы Microsoft работают через COM. Чтобы вы поняли весь ужас, вот Hello World с использованием COM.

Поэтому, увы, будем учить Visual Basic.

Чуть-чуть подготовки и постановка задачи

Итак, поехали. Открываем Excel.

Для начала давайте добавим в Ribbon панель «Разработчик». В ней находятся кнопки, текстовые поля и пр. элементы для конструирования форм.

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что этоаркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

Теперь давайте подумаем, на каком примере мы будем изучать VBA. Недавно мне потребовалось красиво оформить прайс-лист, выглядевший, как таблица. Идём в гугл, набираем «прайс-лист» и качаем любой, который оформлен примерно так (не сочтите за рекламу, пожалуйста):

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

То есть требуется, чтобы было как минимум две группы, по которым можно объединить товары (в нашем случае это будут Тип и Производитель — в таком порядке). Для того, чтобы предложенный мною алгоритм работал корректно, отсортируйте товары так, чтобы товары из одной группы стояли подряд (сначала по Типу, потом по Производителю).

Результат, которого хотим добиться, выглядит примерно так:

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

Разумеется, если смотреть прайс только на компьютере, то можно добавить фильтры и будет гораздо удобнее искать нужный товар. Однако мы хотим научится кодить и задача вполне подходящая, не так ли?

Кодим

Для начала требуется создать кнопку, при нажатии на которую будет вызываться наша програма. Кнопки находятся в панели «Разработчик» и появляются по кнопке «Вставить». Вам нужен компонент формы «Кнопка». Нажали, поставили на любое место в листе. Далее, если не появилось окно назначения макроса, надо нажать правой кнопкой и выбрать пункт «Назначить макрос». Назовём его FormatPrice. Важно, чтобы перед именем макроса ничего не было — иначе он создастся в отдельном модуле, а не в пространстве имен книги. В этому случае вам будет недоступно быстрое обращение к выделенному листу. Нажимаем кнопку «Новый».

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что этоаркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

И вот мы в среде разработки VB. Также её можно вызвать из контекстного меню командой «Исходный текст»/«View code».

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что этоаркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

Перед вами окно с заглушкой процедуры. Можете его развернуть. Код должен выглядеть примерно так:

Напишем Hello World:

Sub FormatPrice()
MsgBox «Hello World!»
End Sub

И запустим либо щелкнув по кнопке (предварительно сняв с неё выделение), либо клавишей F5 прямо из редактора.

Тут, пожалуй, следует отвлечься на небольшой ликбез по поводу синтаксиса VB. Кто его знает — может смело пропустить этот раздел до конца. Основное отличие Visual Basic от Pascal/C/Java в том, что команды разделяются не ;, а переносом строки или двоеточием (:), если очень хочется написать несколько команд в одну строку. Чтобы понять основные правила синтаксиса, приведу абстрактный код.

Примеры синтаксиса

Dim res As sTRING ‘ Регистр в VB не важен. Впрочем, редактор Вас поправит
Dim i As Integer
‘ Цикл всегда состоит из нескольких строк
For i = 1 To 10
res = res + CStr(i) ‘ Конвертация чего угодно в String
If i = 5 Then Exit For
Next i

Dim x As Double
x = Val( «1.234» ) ‘ Парсинг чисел
x = x + 10
MsgBox x

On Error GoTo Err ‘ При ошибке перейти к метке Err
x = 5 / 0
MsgBox «OK!»
GoTo ne

ne:
On Error GoTo 0 ‘ Отключаем обработку ошибок

‘ Циклы бывает, какие захотите
Do While True
Exit Do

Loop ‘While True
Do ‘Until False
Exit Do
Loop Until False
‘ А вот при вызове функций, от которых хотим получить значение, скобки нужны.
‘ Val также умеет возвращать Integer
Select Case LengthSqr(Len( «abc» ), Val( «4» ))
Case 24
MsgBox «0»
Case 25
MsgBox «1»
Case 26
MsgBox «2»
End Select

Грабли-1. При копировании кода из IDE (в английском Excel) есь текст конвертируется в 1252 Latin-1. Поэтому, если хотите сохранить русские комментарии — надо сохранить крокозябры как Latin-1, а потом открыть в 1251.

Грабли-2. Т.к. VB позволяет использовать необъявленные переменные, я всегда в начале кода (перед всеми процедурами) ставлю строчку Option Explicit. Эта директива запрещает интерпретатору заводить переменные самостоятельно.

Грабли-3. Глобальные переменные можно объявлять только до первой функции/процедуры. Локальные — в любом месте процедуры/функции.

Еще немного дополнительных функций, которые могут пригодится: InPos, Mid, Trim, LBound, UBound. Также ответы на все вопросы по поводу работы функций/их параметров можно получить в MSDN.

Надеюсь, что этого Вам хватит, чтобы не пугаться кода и самостоятельно написать какое-нибудь домашнее задание по информатике. По ходу поста я буду ненавязчиво знакомить Вас с новыми конструкциями.

Кодим много и под Excel

В этой части мы уже начнём кодить нечто, что умеет работать с нашими листами в Excel. Для начала создадим отдельный лист с именем result (лист с данными назовём data). Теперь, наверное, нужно этот лист очистить от того, что на нём есть. Также мы «выделим» лист с данными, чтобы каждый раз не писать длинное обращение к массиву с листами.

Sub FormatPrice()
Sheets( «result» ).Cells.Clear
Sheets( «data» ).Activate
End Sub

Работа с диапазонами ячеек

Вся работа в Excel VBA производится с диапазонами ячеек. Они создаются функцией Range и возвращают объект типа Range. У него есть всё необходимое для работы с данными и/или оформлением. Кстати сказать, свойство Cells листа — это тоже Range.

Примеры работы с Range

Sheets( «result» ).Activate
Dim r As Range
Set r = Range( «A1» )
r.Value = «123»
Set r = Range( «A3,A5» )
r.Font.Color = vbRed
r.Value = «456»
Set r = Range( «A6:A7» )
r.Value = «=A1+A3»

Теперь давайте поймем алгоритм работы нашего кода. Итак, у каждой строчки листа data, начиная со второй, есть некоторые данные, которые нас не интересуют (ID, название и цена) и есть две вложенные группы, к которым она принадлежит (тип и производитель). Более того, эти строки отсортированы. Пока мы забудем про пропуски перед началом новой группы — так будет проще. Я предлагаю такой алгоритм:

Для упрощения работы рекомендую определить следующие функции-сокращения:

Function GetCol(Col As Integer ) As String
GetCol = Chr(Asc( «A» ) + Col)
End Function

Далее определим глобальную переменную «текущая строчка»: Dim CurRow As Integer. В начале процедуры её следует сделать равной единице. Еще нам потребуется переменная-«текущая строка в data», массив с именами групп текущей предыдущей строк. Потом можно написать цикл «пока первая ячейка в строке непуста».

Глобальные переменные

Option Explicit ‘ про эту строчку я уже рассказывал
Dim CurRow As Integer
Const GroupsCount As Integer = 2
Const DataCount As Integer = 3

FormatPrice

Sub FormatPrice()
Dim I As Integer ‘ строка в data
CurRow = 1
Dim Groups(1 To GroupsCount) As String
Dim PrGroups(1 To GroupsCount) As String

Теперь надо заполнить массив Groups:

На месте многоточия

И создать заголовки:

На месте многоточия в предыдущем куске

For I2 = 1 To GroupsCount
If Groups(I2) <> PrGroups(I2) Then
Dim I3 As Integer
For I3 = I2 To GroupsCount
AddHeader I3, Groups(I3)
Next I3
Exit For
End If
Next I2

Не забудем про процедуру AddHeader:

Перед FormatPrice

Теперь надо перенести всякую информацию в result

Подогнать столбцы по ширине и выбрать лист result для показа результата

После цикла в конце FormatPrice

Sheets( «Result» ).Activate
Columns.AutoFit

Всё. Можно любоваться первой версией.

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

Некрасиво, но похоже. Давайте разбираться с форматированием. Сначала изменим процедуру AddHeader:

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

Осталось только сделать границы. Тут уже нам требуется работать со всеми объединёнными ячейками, иначе бордюр будет только у одной:

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

Поэтому чуть-чуть меняем код с добавлением стиля границ:

Select Case Ty
Case 1 ‘ Тип
.Font.Bold = True
.Font.Size = 16
.Borders(xlTop).Weight = xlThick
Case 2 ‘ Производитель
.Font.Size = 12
.Borders(xlTop).Weight = xlMedium
End Select
.Borders(xlBottom).Weight = xlMedium ‘ По убыванию: xlThick, xlMedium, xlThin, xlHairline
End With
CurRow = CurRow + 1
End Sub

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

Осталось лишь добится пропусков перед началом новой группы. Это легко:

В начале FormatPrice

Dim I As Integer ‘ строка в data
CurRow = 0 ‘ чтобы не было пропуска в самом начале
Dim Groups(1 To GroupsCount) As String

В цикле расстановки заголовков

If Groups(I2) <> PrGroups(I2) Then
CurRow = CurRow + 1
Dim I3 As Integer

аркуш1 в excel что это. Смотреть фото аркуш1 в excel что это. Смотреть картинку аркуш1 в excel что это. Картинка про аркуш1 в excel что это. Фото аркуш1 в excel что это

В точности то, что и хотели.

Надеюсь, что эта статья помогла вам немного освоится с программированием для Excel на VBA. Домашнее задание — добавить заголовки «ID, Название, Цена» в результат. Подсказка: CurRow = 0 CurRow = 1.

Файл можно скачать тут (min.us) или тут (Dropbox). Не забудьте разрешить исполнение макросов. Если кто-нибудь подскажет человеческих файлохостинг, залью туда.

Спасибо за внимание.

Буду рад конструктивной критике в комментариях.

UPD: Перезалил пример на Dropbox и min.us.

UPD2: На самом деле, при вызове процедуры с одним параметром скобки можно поставить. Либо использовать конструкцию Call Foo(«bar», 1, 2, 3) — тут скобки нужны постоянно.

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *