Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.90/20: Рейтинг темы: голосов - 20, средняя оценка - 4.90
4 / 4 / 6
Регистрация: 17.09.2012
Сообщений: 325

Как залить ячейки произвольными цветами и вывести в них же цвет в формате RGB шестнадцатиричное

17.09.2012, 22:31. Показов 4169. Ответов 11
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
народ кому не сложно, девушка попросила помочь ей зделать лабораторную по програмированию по vba, а я его неразу не учил, а нужно зделать до завтра, вот задание

Создать пустую книгу (вручную). На ней создать кнопку CommandButton (вручную), которая раскрашивает задний фон ячеек квадрата 20*10 активного листа произвольными цветами из всего доступного спектра и записывает в ячейку значение её фона в формате «R: ##, G: ##, B: ##», где ## – шестнадцатиричное значение соответствующего параметра, полученное анализом значения фона. При этом устанавливается флаг «автоподбор ширины текста». Разместить вручную на этом же листе две кнопки CommandButton, сортирующие ячейки по возрастанию значения цвета. Первая кнопка сортирует сначала по строкам, затем по столбцам, вторая – наоборот.

кому не сложно, я уверен ето быстро если розбираться в етом языке, зделайте пожайлуста или подскажите с чего начать
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
17.09.2012, 22:31
Ответы с готовыми решениями:

Как определённой точке на форме задать цвет в формате RGB?
Как определённой точке на форме задать цвет в формате RGB???

Как вывести картику на экран с изменеными цветами в rgb ?
Мне нужно из большой картинки вырезать маленький блок с цифрами - это мне подсказали как сделать...

Задать цвет кнопки в формате RGB
Можно ли задать цвет свойству BackColor с помощью rgb Например FFFFFF или 255.255.255 вместо color.white

11
6644 / 1511 / 169
Регистрация: 09.01.2010
Сообщений: 4,298
17.09.2012, 23:34
Цитата Сообщение от итернал Посмотреть сообщение
а я его неразу не учил
а и правильно, нафига попу гармонь


Цитата Сообщение от итернал Посмотреть сообщение
подскажите с чего начать
со второго абзаца Вашего топа
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
18.09.2012, 05:54
Начать стоит с поиска:
https://www.cyberforum.ru/vba/thread95105.html
Палитра для заливки ячеек Excel 2003
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38180 / 21115 / 4307
Регистрация: 12.02.2012
Сообщений: 34,722
Записей в блоге: 14
18.09.2012, 10:35
Цитата Сообщение от итернал Посмотреть сообщение
сортирующие ячейки по возрастанию значения цвета
- что имеется в виду? Если цвет - длинное целое, то будем сортировать по возрастанию этого значения?
0
4 / 4 / 6
Регистрация: 17.09.2012
Сообщений: 325
18.09.2012, 10:51  [ТС]
я уже разобрался с заливкой, квадрат у меня получаеться, не могу разобраться с сортировкой

Разместить вручную на этом же листе две кнопки CommandButton, сортирующие ячейки по возрастанию значения цвета. Первая кнопка сортирует сначала по строкам, затем по столбцам, вторая – наоборот.

нужно зделать что бы сначало стоял цвет какого найбольшее количество, потом менше и менше, я так понимаю, подскажите как ето зделать? цыклом? или командой какой? или хотя бы книжку где можно посмотреть что-то похожее
0
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38180 / 21115 / 4307
Регистрация: 12.02.2012
Сообщений: 34,722
Записей в блоге: 14
18.09.2012, 10:52
Держи решение! Только проверь сначала...
Вложения
Тип файла: zip Задачи-VBA-55.zip (14.1 Кб, 42 просмотров)
1
Супер-модератор
Эксперт функциональных языков программированияЭксперт Python
 Аватар для Catstail
38180 / 21115 / 4307
Регистрация: 12.02.2012
Сообщений: 34,722
Записей в блоге: 14
18.09.2012, 11:37
Цитата Сообщение от итернал Посмотреть сообщение
квадрата 20*10
10*20 - это КВАДРАТ?
1
4 / 4 / 6
Регистрация: 17.09.2012
Сообщений: 325
18.09.2012, 22:48  [ТС]
спасибо большое, теперь щас постораюсь разобраться как что было зделано

Добавлено через 25 секунд
ну вопще нет

Добавлено через 11 часов 1 минуту
а для чего % возле переменных?
0
Эксперт WindowsАвтор FAQ
 Аватар для Dragokas
18033 / 7736 / 892
Регистрация: 25.12.2011
Сообщений: 11,502
Записей в блоге: 16
18.09.2012, 23:19
Чтобы она стала Integer-ом.
1
4 / 4 / 6
Регистрация: 17.09.2012
Сообщений: 325
18.09.2012, 23:48  [ТС]
спасибо большое, полазил по форуму смог разобраться
0
4 / 4 / 6
Регистрация: 17.09.2012
Сообщений: 325
25.09.2012, 00:47  [ТС]
вот что я смог зделать по сортировке цветов, тут оно сортирует не только по индексу, но ище и по цвету, можно ли етот код как-то оптимизировать? если да, подскажите пожайлуста с чего начать
и что-то при сортировке по строчкам, оно сразу по цвету не сортирует, только после сортировке по столбцам, при повторной сортировке по строчкам сортирует и по цвету, может я где ошибку не вижу, подскажите кто может
вот части кода
по строчкам
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
Private Sub CommandButton2_Click()
    Dim i As Integer, j As Integer, k As Integer, Z As Long, St As String
    Dim OdnomMasCol(1 To 200) As Long 'задаем массив, для хранения цвета
    Dim OdnomMasZnach(1 To 200) As String
    'считываем массив  данных, и переводим его в одномерный массив для последующей сортировки
    k = 0
    For i = 1 To 20
        For j = 1 To 10
            k = k + 1
            OdnomMasZnach(k) = Cells(i, j).Value
            OdnomMasCol(k) = Cells(i, j).Interior.Color
        Next j
    Next i
    ' Сортируем новый массив по строкам (в данном случае есть массив цветов, и ассив значений этих цветов типа String)
    For i = 1 To 199
        For j = i + 1 To 200
            If OdnomMasCol(i) > OdnomMasCol(j) Then
                Z = OdnomMasCol(i)
                St = OdnomMasZnach(i)
                OdnomMasCol(i) = OdnomMasCol(j)
                OdnomMasZnach(i) = OdnomMasZnach(j)
                OdnomMasCol(j) = Z
                OdnomMasZnach(j) = St
            End If
        Next j
    Next i
    ' Отсортированные значения выводим обратно в многомерный массив
    k = 0
    For i = 1 To 20
        For j = 1 To 10
            k = k + 1
            Cells(i, j).Value = OdnomMasZnach(k)
            Cells(i, j).Interior.Color = OdnomMasCol(k)
        Next j
    Next i
 
End Sub
по столбцам
Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
Private Sub CommandButton3_Click()
   Dim i As Integer, j As Integer, k As Integer, Z As Long, St As String
    Dim OdnomMasCol(1 To 200) As Long
    Dim OdnomMasZnach(1 To 200) As String
    k = 0
    For i = 1 To 20
        For j = 1 To 10
            k = k + 1
            OdnomMasZnach(k) = Cells(i, j).Value
            OdnomMasCol(k) = Cells(i, j).Interior.ColorIndex
        Next j
    Next i
    
    For i = 1 To 199
        For j = i + 1 To 200
            If OdnomMasCol(i) > OdnomMasCol(j) Then
                Z = OdnomMasCol(i)
                St = OdnomMasZnach(i)
                OdnomMasCol(i) = OdnomMasCol(j)
                OdnomMasZnach(i) = OdnomMasZnach(j)
                OdnomMasCol(j) = Z
                OdnomMasZnach(j) = St
            End If
        Next j
    Next i
    
    k = 0
    For j = 1 To 10
        For i = 1 To 20
            k = k + 1
            Cells(i, j).Value = OdnomMasZnach(k)
            Cells(i, j).Interior.ColorIndex = OdnomMasCol(k)
        Next i
    Next j
 
End Sub
вот сам мой файл [битая ссылка. Залейте файл на форум]
0
4 / 4 / 6
Регистрация: 17.09.2012
Сообщений: 325
25.09.2012, 10:58  [ТС]
vba_nachalo.rar
вот мой файл целиком
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
25.09.2012, 10:58
Помогаю со студенческими работами здесь

Получить цвет точки формы под курсором в формате RGB
Передвигая мышь над битмапом или графиксом - нужно постоянно видеть справа от мыши характеристики RGB - в строчку или столбец

Задать цвет ячейки в Excel через метод RGB
Здравствуйте, подскажите, можно ли задать цвет ячейке Excel какой-нибудь функцией типа RGB(128,254,54)? для редактирования ячейки...

Как поменять цвет текста консоли на любой цвет из RGB цветов
Цвет консоли можно поменять используя только 16 встроенных цветов или можно использовать комбинации RGB? Console.ForegroundColor =...

Вывести в Label RGB цвет у Picturebox
Здравствуйте! Мне нужно чтобы нажал на пиксель в Picturebox и вывело RGB цвет в Label Вот есть код, но он меняет BackColor...

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


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

Или воспользуйтесь поиском по форуму:
12
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru