Font.ColorIndex не согласован между входом и выходом - PullRequest
0 голосов
/ 08 октября 2018

У меня есть следующая функция, которая анализирует некоторые листы форматирования и возвращает индекс цвета:

Function returnFontColor(targetString As String) As Integer

    Dim formatSheet As Worksheet
    Dim lastRow As Long
    Dim row As Long
    Dim counter As Integer

    returnFontColor = 0

    Set formatSheet = ThisWorkbook.Worksheets("Formatting")

    With formatSheet

        lastRow = .Cells(.Rows.Count, 2).End(xlUp).row

        For row = 2 To lastRow
            If LCase(CStr(.Range("B" & row).Value)) = LCase(CStr(targetString)) Then
                For counter = 1 To Len(.Range("C" & row).Value)
                    If .Range("C" & row).Characters(Start:=counter, Length:=1).Font.ColorIndex <> 0 Then

                        returnFontColor = .Range("C" & row).Characters(Start:=counter, Length:=1).Font.ColorIndex
                        GoTo Exiter
                    End If
                Next
            End If
        Next
    End With
Exiter:

End Function

Как я использую функцию:

ws.Cells(row_num, col_num).Font.ColorIndex = returnFontColor(name)

Моя проблема в том, что цвет Iполучить от вызова этой функции значительно отличается от того, что на листе форматирования, и я не понимаю, почему, потому что это должно опираться на RGB, который очень специфичен.Что-то мне не хватает?

Ответы [ 2 ]

0 голосов
/ 08 октября 2018

Возвращение индекса цвета - это не то же самое, что возвращение цвета.Индекс цвета возвращает позицию из цветовой палитры, а не фактический цвет RGB.

Часто цвета заливки ячейки выбираются из раскрывающегося списка цветов из главного меню.В этом случае две книги с разными темами Office будут отображать разные цвета, несмотря на один и тот же индекс цвета.

Чтобы получить фактический цвет заливки, используйте метод Font.Color и вернитесь как Double потому что возможные значения от 0 до 256 ^ 3.

0 голосов
/ 08 октября 2018

Пользователь Font.Color вместо Font.ColorIndex.

Индекс `возвращает поддон, который может состоять из МНОГИХ цветов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...