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

Изменение значения ячейки путём её выделения

12.07.2018, 20:33. Показов 1781. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
в задаче говорится, что я должен менять значение ячейки с помощью её выделения: если нажать один раз на ячейку, то она окрасится в красный, если нажать снова, то в белый. По возможности использовать именно vba, а не формулы внутри самой таблицы эксель. Возможно, это какое-то событие mouseclick, но ничего по этому поводу не нашёл

спасибо откликнувшимся
0
Лучшие ответы (1)
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
12.07.2018, 20:33
Ответы с готовыми решениями:

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

Изменение значения ячейки в зависимости от цвета
Здравствуйте, каким условием проверить диапазон ячеек зеленого цвета, для того, чтобы изменить в них значения. Т.е. есть белые ячейки, а...

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

9
40 / 37 / 9
Регистрация: 15.03.2018
Сообщений: 88
13.07.2018, 07:53
Лучший ответ Сообщение было отмечено Kinimantug как решение

Решение

Цитата Сообщение от Kinimantug Посмотреть сообщение
если нажать один раз на ячейку, то она окрасится в красный, если нажать снова, то в белый
Visual Basic
1
2
3
4
5
6
7
8
9
Private Sub Worksheet_SelectionChange1(ByVal Target As Range)
'Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 'Для двойного нажатия
     If Target.Cells.Interior.Color = 255 Then
        Target.Cells.Interior.Color = QBColor(15)
       Else
        Target.Cells.Interior.Color = QBColor(12)
    End If
    
End Sub
Добавить в события рабочего листа: http://moonexcel.com.ua/%D1%83... -events_ru
1
1847 / 1162 / 354
Регистрация: 11.07.2014
Сообщений: 4,107
13.07.2018, 18:05
Krapivnik, а единичка в названии процедуры не нужна (Worksheet_SelectionChange), да и QBColor лучше не ставить - удаляет границы ячеек (правда непечатаемые) QBColor(15) заменить на xlNone, QBColor(12) на 255
1
40 / 37 / 9
Регистрация: 15.03.2018
Сообщений: 88
14.07.2018, 13:40
Burk, понятно. С единицей опечатка конечно.
0
1 / 1 / 0
Регистрация: 11.04.2018
Сообщений: 5
15.07.2018, 20:08  [ТС]
да, это хорошо работает, но есть ещё одна деталь: у меня есть массив, в который нужно записывать нули и единицы. Красный цвет - это единица, серый - ноль

Добавлено через 1 час 20 минут
Дружище, не поможете мне с этим заданием до конца разобраться? Это событие создаётся в листе, а действия у меня на юзерформе. Как можно связать эти два места?

Добавлено через 2 минуты
Добрый вечер. Я не знаю, отправился ли ответ, но прошу помочь разобраться с заданием до конца
0
40 / 37 / 9
Регистрация: 15.03.2018
Сообщений: 88
16.07.2018, 06:37
Kinimantug, не понял про массив. НАпишите подробнее условие задачи.
Цитата Сообщение от Kinimantug Посмотреть сообщение
а действия у меня на юзерформе
Про это тоже напишите подробнее
0
1 / 1 / 0
Регистрация: 11.04.2018
Сообщений: 5
16.07.2018, 09:51  [ТС]
вообще, задача была в том, чтобы создать клеточный автомат "Жизнь". Я реализовал всё в юзерформе, не трогая события листа. Теперь же мне дали дополнительное задание: сделать так, чтобы пользователь сам мог создавать фигуры на поле и следить за их "жизнью".

Прикрепляю файл с самой программой
Вложения
Тип файла: zip Igra_Zhizn 3.0.xlsm.zip (37.0 Кб, 9 просмотров)
1
1 / 1 / 0
Регистрация: 11.04.2018
Сообщений: 5
16.07.2018, 21:05  [ТС]
разобрался с массивом. Ещё раз спасибо, но есть одна мелочь: можно ли ограничить поле, в котором можно менять цвет? Есть серое поле, только в котором можно менять цвет
Миниатюры
Изменение значения ячейки путём её выделения  
0
40 / 37 / 9
Регистрация: 15.03.2018
Сообщений: 88
17.07.2018, 07:35
Цитата Сообщение от Kinimantug Посмотреть сообщение
можно ли ограничить поле, в котором можно менять цвет? Есть серое поле, только в котором можно менять цвет
Добавьте еще одно условие. Для вашего серого цвета типа такого

Visual Basic
1
2
3
4
5
If Target.Cells.Interior.Color = 14474460 Then 'Если выбрана ячейка с серым цветом
   'меняете цвет
Else
  Exit Sub 
End if
1
4089 / 1469 / 401
Регистрация: 07.08.2013
Сообщений: 3,671
17.07.2018, 10:54
с этими цифирями цветов можно легко запутаться
есть функция rgb(r,g,b)
If Target.Cells.Interior.Color = rgb(220,220,220)
цифры rgb всегда можно в паинте подсмотреть
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
17.07.2018, 10:54
Помогаю со студенческими работами здесь

Можно ли указать адрес ячейки, путем выделения её на листе?
Привет! Задача такая: Программа должна переносить данные с одной ячейки в другую. Т.е. выбираем ячейку, из которой хотим перенести...

Изменение значения текста с использованием v-model путём изменения textarea
Добрый день! Пишу некое подобие редактора сайта и столкнулся с проблемой которую не смог решить своими силами. Имеется код: ...

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

Изменение значения ячейки в CellFormatting
private void songsDataGridView_CellFormatting(object sender, System.Windows.Forms.DataGridViewCellFormattingEventArgs e) ...

7.7 - Изменение значения ячейки таблицы.
Есть таблица в режиме ввода данных. Заполнение ячейки: Процедура Заполнить() ... Для С=1 По Метаданные.Справочник() Цикл .... ...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
Символьное дифференцирование
igorrr37 13.02.2026
/ * Программа принимает математическое выражение в виде строки и выдаёт его производную в виде строки и вычисляет значение производной при заданном х Логарифм записывается как: (x-2)log(x^2+2) -. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
«Знание-Сила»
zbw 12.02.2026
«Знание-Сила» «Время-Деньги» «Деньги -Пуля»
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru