Форум программистов, компьютерный форум, киберфорум
Наши страницы

VBA

Войти
Регистрация
Восстановить пароль
 
 
Рейтинг: Рейтинг темы: голосов - 19, средняя оценка - 4.63
curbat
0 / 0 / 0
Регистрация: 27.09.2012
Сообщений: 25
#1

Рисунок, процентная заливка определённым цветом - VBA

12.10.2012, 15:18. Просмотров 2578. Ответов 15
Метки нет (Все метки)

Здравствуйте.
Реально ли в VBA на форме создать изображение ёмкости с условием что в ёмкости будет меняться цвет заливки в процентном соотношении в зависимости от поступающего сигнала 0-100% ? Если на форме невозможно, на листе возможно?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
12.10.2012, 15:18
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Рисунок, процентная заливка определённым цветом (VBA):

По значению в ячейке выделить определённым цветом всю строку - VBA
Добрый вечер! Ну, пожалуйста, необходим макрос: В определённом столбце(R) если значение в ячейке от 0 до 30, то вся строка выделяется...

Заливка строки цветом - VBA
Здравствуйте. Подскажите пожалуйста как мне изменить код. если в определенной ячейке макрос находит текст, то вся строка закрашивается...

Заливка ячейки текущим цветом - VBA
Подскажите кто-нибудь, как сделать заливку ячейки тем цветом, который выбран в данный момент на панели цветовой палитры заливки?

Заливка ячейки другим цветом в цикле - VBA
Здравствуйте, уважаемые форумчане. Подскажите пожалуйста... Есть таблица, которая начинается с 5 строчки (сверху некоторая шапка). ...

Заливка выделенного текста выбранным пользователем цветом - VBA
Заливка выделенного текста выбранным пользователем цветом. Заливка фона выделенного текста выбранным пользователем цветом. Народ помогите...

Заливка цветом строки после ее вывода в документ - VBA
Доброе время суток! Прошу помочь: С вордовского макроса вывожу в документ строки примерно таким фрагментом кода Selection.Text =...

15
Sasha_Smirnov
5458 / 1298 / 140
Регистрация: 08.02.2009
Сообщений: 4,006
Записей в блоге: 29
12.10.2012, 16:08 #2
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Возможно, что и возможно. Я сделал на странице документа; запуск по F7; код по Alt-F11.
3
Вложения
Тип файла: doc tank.doc (34.5 Кб, 53 просмотров)
Dragokas
Эксперт WindowsАвтор FAQ
16614 / 6999 / 848
Регистрация: 25.12.2011
Сообщений: 10,795
Записей в блоге: 16
13.10.2012, 02:38 #3
Sasha_Smirnov, F7 - это проверка правописания
0
Sasha_Smirnov
5458 / 1298 / 140
Регистрация: 08.02.2009
Сообщений: 4,006
Записей в блоге: 29
13.10.2012, 15:06 #4
А я назначил макросу. Хотя и неудачно: сохранил это назначение в шаблоне (а не в tank.doc).

Но код в докумете работает (при активной библиотеке MsoTriState), словом, возможность есть!
0
Sasha_Smirnov
5458 / 1298 / 140
Регистрация: 08.02.2009
Сообщений: 4,006
Записей в блоге: 29
13.10.2012, 18:07 #5
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
У ячеек есть вид заливки, но нет свойства Transparency, но "наливание краской" изобразить можно:
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
Sub green_filling_of_shapes() ' Макрос записан 13.10.2012 (Admin)
Dim t As Single, n As Byte: n = 8           'число итераций для наполнения цветом
    If InStr(Application.Name, "Excel") Then
        ActiveSheet.DrawingObjects.Select 'выделили на листе всё нарисованное
        If ActiveSheet.DrawingObjects.Count = 0 Then Exit Sub
    Else
        ActiveDocument.Shapes.SelectAll   'выделили в документе фигуры 1
        If Selection.ShapeRange.Count = 0 Then Exit Sub
    End If
 
    With Selection.ShapeRange.Fill  'работаем с их заливкой
        .Solid                              'сплошная
        .ForeColor.RGB = RGB(0, 255, 0)     'цвет по RGB
        .Transparency = 1                   'прозрачность (полная)
'Stop 'эта строка, после настройки скорости заливки, более не нужна
        Do While n > 0               'прозрачность будем уменьшать до 0
            t = Timer: t = t + 0.2  'задержка шага уменьшения на 0,2 секунды
            n = n - 1
            .Transparency = n / (n + 1) 'прозрачность падает: 0,875 0,75 0,625...
            While Timer < t: Wend
        Loop
    End With
End Sub
Дествующая модель приложена, запуск по F5, F5.
2
Вложения
Тип файла: doc tank.doc (29.5 Кб, 40 просмотров)
curbat
0 / 0 / 0
Регистрация: 27.09.2012
Сообщений: 25
15.10.2012, 13:56  [ТС] #6
Спасибо всем за помощь. Я наверно неправильно изложил что мне нужно. Эта ёмкость, заполняется водой или любым другим веществом снизу вверх . Например человек набирает воду со скважины в ёмкость, в ёмкости стоит аналоговый датчик с него и берутся данные для уровня.
0
Казанский
13829 / 5592 / 1415
Регистрация: 24.09.2011
Сообщений: 8,776
15.10.2012, 14:41 #7
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
В качестве шутки (в которой есть доля правды ) - решение без VBA
5
Вложения
Тип файла: xls tank_no_vba.xls (26.5 Кб, 42 просмотров)
SlavaRus
1090 / 204 / 28
Регистрация: 15.03.2010
Сообщений: 639
15.10.2012, 15:39 #8
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Посмотри, так не подойдет?
4
Вложения
Тип файла: xls Proba.xls (34.5 Кб, 60 просмотров)
Казанский
13829 / 5592 / 1415
Регистрация: 24.09.2011
Сообщений: 8,776
15.10.2012, 17:07 #9
SlavaRus, можно ресайзить только синий лейбл, расположенный поверх белого. Белый всегда полного размера.
1
toiai
3067 / 864 / 185
Регистрация: 29.05.2010
Сообщений: 1,847
15.10.2012, 19:16 #10
Лучший ответ Сообщение было отмечено автором темы, экспертом или модератором как ответ
Вот предлагаю вариант с использованием диаграммы без VBA, может пригодится.
6
Вложения
Тип файла: xls Заполнение емкости без VBA.xls (32.5 Кб, 38 просмотров)
curbat
0 / 0 / 0
Регистрация: 27.09.2012
Сообщений: 25
16.10.2012, 10:27  [ТС] #11
Благодарю всех. Буду переваривать.
0
denis88
0 / 0 / 0
Регистрация: 12.10.2012
Сообщений: 9
16.10.2012, 12:41 #12
Цитата Сообщение от toiai Посмотреть сообщение
Вот предлагаю вариант с использованием диаграммы без VBA, может пригодится.
не опытен в VBA...Напиши пожалуйста как ты это сделал?
0
Dragokas
Эксперт WindowsАвтор FAQ
16614 / 6999 / 848
Регистрация: 25.12.2011
Сообщений: 10,795
Записей в блоге: 16
16.10.2012, 13:18 #13
denis88, нажимаешь ПКМ по панеле управления, галочка "Элементы управления".
Появится панель. Выбираешь первую кнопку "Режим конструктора".

ПКМ по форме со стрелками ("счетчик" или "SpinButton"), свойства. LinkedCell -> C3 (вот здесь задана ячейка).
Выходим из режима конструктора.

Далее создаем диаграмму на основе исходных данных в ячейке С3.
1
curbat
0 / 0 / 0
Регистрация: 27.09.2012
Сообщений: 25
18.10.2012, 15:34  [ТС] #14
Здравствуйте, ещё раз. Нужно что то наподобие этого. Только как можно наложить ещё поверх танка и лейбла контур танка?
0
Вложения
Тип файла: zip Proba2.zip (14.2 Кб, 15 просмотров)
curbat
0 / 0 / 0
Регистрация: 27.09.2012
Сообщений: 25
25.10.2012, 15:16  [ТС] #15
Получилось, что хотел.
0
Вложения
Тип файла: xls Proba3.xls (53.0 Кб, 31 просмотров)
25.10.2012, 15:16
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
25.10.2012, 15:16
Привет! Вот еще темы с ответами:

процентная статистика - VBA
вообщем есть некая база данных студентов с успеваемостью оных и т.д. как на вба ( в акссессе) реализовать такую штуку как : Получать...

На листе находится рисунок. Можно ли, сохранить этот рисунок из книги как отделений Bmp или jpg файл? - VBA
1. На листе находится рисунок. Можно ли, сохранить этот рисунок из книги как отделений Bmp или jpg файл. И еще один вопрос: Можно...

Вставка значений в строки с определённым шагом - VBA
Как сделать такую штуку через макрос: A Строка1 s5 Строка2 7 Строка3 8 Строка4 6 (стало s5) ...

Оставить символы перед последним определённым знаком - VBA
Доброй ночи! Имеется excel файл, напечатанного ниже формата: - Столбец &quot;A&quot; - артикул; - Столбец &quot;C&quot; - хлебные крошки. Пример...


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

Или воспользуйтесь поиском по форуму:
15
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru