powered by simpleCommunicator - 2.0.39     © 2025 Programmizd 02
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / как определить номер цвета
7 сообщений из 7, страница 1 из 1
как определить номер цвета
    #39460616
Guest1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
запускаю макрос, - формат ячейки - выбираю цвет-останавливаю макрос

в результате создался текст:

With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.249946592608417
.PatternTintAndShade = 0
End With

как узнать цифру цвета для записи в таком формате? :
.color=255

спасибо.
...
Рейтинг: 0 / 0
как определить номер цвета
    #39460630
Фотография Shocker.Pro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
попробуй выбрать цвет из палитры, а не из темы )
...
Рейтинг: 0 / 0
как определить номер цвета
    #39460667
Фотография Focha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Guest1запускаю макрос, - формат ячейки - выбираю цвет-останавливаю макрос

в результате создался текст:

With Selection.Interior
.Pattern = xlSolid
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.249946592608417
.PatternTintAndShade = 0
End With

как узнать цифру цвета для записи в таком формате? :
.color=255

спасибо.


Только считать:
Код: vbnet
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.
Sub b()

Cells(1, 1).Interior.Color = RGB(191, 191, 191) 'красим ячейку
Cells(1, 2) = color_rgb(Cells(1, 1).Interior.Color) 'какой цвет RGB

End Sub

Function color_rgb(ByVal i As Double) As String
Dim r, g, b As Double
Dim exit_for As Boolean
exit_for = 0

For r = 0 To 255
    For g = 0 To 255
        For b = 0 To 255
            If (r + (g * 256) + (b * 65536)) = i Then
                color_rgb = "RGB " & r & " " & g & " " & b
                exit_for = 1
                Exit For
            End If
            
        Next
        If exit_for Then Exit For
    Next
    If exit_for Then Exit For
Next

End Function
...
Рейтинг: 0 / 0
как определить номер цвета
    #39460732
Guest1
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Focha, спасибо, в самую точку.
VBA - ты целый мир.
...
Рейтинг: 0 / 0
как определить номер цвета
    #39460947
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: vbnet
1.
2.
3.
4.
For r = 0 To 255
    For g = 0 To 255
        For b = 0 To 255
            If (r + (g * 256) + (b * 65536)) = i Then


да это прям на Шнобелевку тянет...
Код: vbnet
1.
2.
3.
4.
r = i mod 256
i = i \ 256
g = i mod 256
b = i \ 256
...
Рейтинг: 0 / 0
как определить номер цвета
    #39461125
Фотография The_Prist
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я вообще не понимаю зачем здесь определение RGB. Ведь для того, чтобы узнать номер цвета можно вручную покрасить ячейку в нужный цвет, а потом просто его и вывести:
Код: vbnet
1.
Debug.Print Selection.Interior.Color


или
Код: vbnet
1.
MsgBox Selection.Interior.Color
...
Рейтинг: 0 / 0
как определить номер цвета
    #39461247
Фотография Focha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina
Код: vbnet
1.
2.
3.
4.
For r = 0 To 255
    For g = 0 To 255
        For b = 0 To 255
            If (r + (g * 256) + (b * 65536)) = i Then


да это прям на Шнобелевку тянет...
Код: vbnet
1.
2.
3.
4.
r = i mod 256
i = i \ 256
g = i mod 256
b = i \ 256



Шнобелевку тянет


Код: vbnet
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Sub b()
  Cells(1, 1).Interior.Color = RGB(0, 0, 1) 
  Cells(1, 2) = color_rgb_new(Cells(1, 1).Interior.Color)
End Sub

Function color_rgb_new(ByVal i As Double) As String
Dim r, g, b As Double
    r = i Mod 256
    i = i \ 256
    g = i Mod 256
    b = i \ 256
color_rgb_new = "RGB " & r & " " & g & " " & b
End Function
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / как определить номер цвета
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]