Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.69/13: Рейтинг темы: голосов - 13, средняя оценка - 4.69
0 / 0 / 0
Регистрация: 02.02.2016
Сообщений: 1
1

Создать макрос для рабочей книги MS Excel, позволяющий формировать значения в диапазонах ячеек

02.02.2016, 01:51. Показов 2395. Ответов 3
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Помогите пожалуйста, я начинающий пр. мне очень трудно решать
1. Создать макрос для рабочей книги MS Excel, позволяющий формировать
значения в диапазонах ячеек в соответствии с предложенными ниже вариантами
2. Макрос должен:
2.1. запускаться с панели инструментов MS Excel
2.2. иметь форму, в которой пользователь может указать размер матрицы и
левый верхний угол (или полностью диапазон) расположения матрицы на
листе MS Excel
3. При запуске макроса все данные с листа должны удаляться

1 1 1 1 1 1
0 1 1 1 1 0
0 0 1 1 0 0
0 1 1 1 1 0
1 1 1 1 1 1
Миниатюры
Создать макрос для рабочей книги MS Excel, позволяющий формировать значения в диапазонах ячеек  
0
Лучшие ответы (1)
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
02.02.2016, 01:51
Ответы с готовыми решениями:

Написать макрос, позволяющий заполнить один столбец рабочей книги числами по порядку
Задание: Написать макрос, позволяющий заполнить один столбец рабочей книги числами по-порядку,...

Макрос для разбиения листа рабочей книги на отдельные листы
Добрый день! Подскажите, возникла проблема с написанием макроса для разбиения листа, состоящего...

Как отключить сохранение рабочей книги для автовосстановления в Excel 2002?
Как отключить сохранение рабочей книги для автовосстановления в Excel 2002. Уж больно оно мешает.

Как задать диапазон имен для рабочей книги в VBA Excel?
Добрый день. Нужна помощь с несколькими вопросами по vba excel: 1. Для создания сводной таблицы я...

3
5562 / 1368 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
02.02.2016, 22:22 2
Цитата Сообщение от zargar Посмотреть сообщение
я начинающий пр.
Так начинайте уже! А то не к чему и помощь приложить.

Похожие в принципе (а не по названию) темы:
Сделал, на базе демо для AHDREY33. Замечательно*, что по сути пришлось изменить лишь один оператор — присваивания. Но пока вы под гнётом Минобра, вам это вряд ли подойдёт (сам код).
Цитата Сообщение от zargar Посмотреть сообщение
мне очень трудно решать
А я после работы, видимо, трудоголик: было тоже нелегко, но зато каков серотонин!
____________________
* ибо это же массовый алгоритм — мечта бригадиров, командиров и их жён!
Миниатюры
Создать макрос для рабочей книги MS Excel, позволяющий формировать значения в диапазонах ячеек   Создать макрос для рабочей книги MS Excel, позволяющий формировать значения в диапазонах ячеек  
0
6173 / 938 / 310
Регистрация: 25.02.2011
Сообщений: 1,373
Записей в блоге: 1
02.02.2016, 23:02 3
Лучший ответ Сообщение было отмечено Sasha_Smirnov как решение

Решение

как вариант (для квадратной матрицы):
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Sub main()
    Dim i&, j&, n&, m&, rng As Range
    Cells.ClearContents 'очищаем ячейки
    n = Val(InputBox("Размер матрицы", , 6))
    If n < 1 Then Exit Sub 'если задан не правильный параметр, то выходим из процедуры
    Set rng = ActiveCell 'вывод будет произведен в текущию ячейку
    'диапазон вывода можно задать через диалоговое окно Application.InputBox()
    'On Error Resume Next
    'Set rng = Application.InputBox("Укажите диапазон для вывода", , , Type:=8) 'ячейка для вывода
    'If rng Is Nothing Then Exit Sub 'нажата кнопка Отмена - диапазон не выбран
    'On Error GoTo 0
    ReDim arr&(1 To n, 1 To n)
    For i = 1 To n
        If i <= n / 2 Then m = i Else m = n - i + 1
        For j = m To n - m + 1
            arr(i, j) = 1
    Next j, i
    rng.Resize(n, n) = arr
End Sub
запуск с панели инструментов MS Excel попробуйте реализовать сами
0
5562 / 1368 / 150
Регистрация: 08.02.2009
Сообщений: 4,109
Записей в блоге: 30
09.02.2016, 05:44 4
Excel 2007 и моложе заполнит диапазон автоматом (по идее Апострофф’а), а Excel 2003 — после нажатия кнопки (как выше на рисунках).

Цитата Сообщение от Sasha_Smirnov Посмотреть сообщение
offset и resize
из темы AHDREY33 оставил как бонус; для подсветки применил условное форматирование (это быстрее и гибче):
Вложения
Тип файла: xls Апертура.xls (63.0 Кб, 5 просмотров)
0
09.02.2016, 05:44
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
09.02.2016, 05:44
Помогаю со студенческими работами здесь

Объединение ячеек при вставке в разных диапазонах
Здравствуйте! Нужна помощь при создании макроса... Дано 3 столбца, как объединить ячейки с...

Макрос для сравнения данных ячеек одной книги с другой
Здравствуйте! Пожалуйста, не ругайтесь, я новенький. У меня стоит задача автоматизации отчета по...

Макрос на все листы рабочей книги
Как сделать чтобы макрос виполнялся на всех листах рабочей книги одновременно?

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


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Из чего и как собрать свой домашний кинотеатр
bt_guru 21.01.2025
Создание домашнего кинотеатра: от идеи до реализации В современном мире домашний кинотеатр стал неотъемлемой частью комфортного жилого пространства, предоставляя возможность наслаждаться. . .
Ошибки стиральных машин
bt_guru 21.01.2025
Современные стиральные машины представляют собой сложные электронные устройства, оснащенные множеством датчиков и систем контроля. Они способны самостоятельно определять вес загруженного белья,. . .
Копирование (маппинг) объектов в JavaScript
bytestream 21.01.2025
В современной разработке программного обеспечения копирование объектов представляет собой фундаментальную операцию, которая требует особого внимания и понимания. Маппинг объектов в JavaScript – это. . .
Как работать с Apache Kafka в C# .NET
bytestream 21.01.2025
Apache Kafka представляет собой распределенную платформу потоковой передачи данных, которая произвела революцию в области обработки больших объемов информации в реальном времени. Эта система,. . .
Как использовать RabbitMQ в C# .NET
bytestream 21.01.2025
RabbitMQ представляет собой мощный брокер сообщений, который эффективно решает эту задачу, обеспечивая надежную передачу данных между множеством приложений. Этот инструмент реализует протокол AMQP. . .
Как объединить последние коммиты в Git
bytestream 21.01.2025
В мире разработки программного обеспечения система контроля версий Git стала незаменимым инструментом для управления исходным кодом. Одной из наиболее полезных, но порой сложных для освоения функций. . .
Как запушить новую локальную ветку (branch) в удалённый репозиторий Git и отслеживать её
bytestream 21.01.2025
В современной разработке программного обеспечения система контроля версий Git стала неотъемлемым инструментом для эффективного управления кодом и организации командной работы. Одной из ключевых. . .
Как создать директорию и все родительские директории, указанные в пути, с помощью Python
bytestream 21.01.2025
Python предоставляет мощные инструменты для работы с файловой системой через встроенные модули os и pathlib, которые значительно упрощают процесс манипуляции директориями. Эти модули содержат. . .
Как работать с массивами в JavaScript
bytestream 21.01.2025
Массивы в JavaScript представляют собой один из фундаментальных типов данных, который позволяет хранить упорядоченные коллекции различных элементов в одной переменной. Эта структура данных является. . .
Какая максимальная длина адреса (URL) в различных браузерах и стандартах
bytestream 21.01.2025
В современном мире интернет-технологий URL-адреса (Uniform Resource Locator) играют фундаментальную роль в функционировании веб-пространства. Эти уникальные идентификаторы ресурсов стали неотъемлемой. . .
Как сбросить локальный репозиторий до состояния удалённого репозитория Git
bytestream 21.01.2025
При разработке программного обеспечения с использованием системы контроля версий Git разработчики часто сталкиваются с необходимостью синхронизации локального и удаленного репозиториев. Данная задача. . .
Как запретить подсветку выделенного текста с помощью CSS
bytestream 20.01.2025
Подсветка текста при выделении является стандартным поведением браузера, которое не всегда соответствует дизайнерским решениям или функциональным требованиям веб-приложения. Выделение текста может. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru