Получение всех первоклассных клеток определенного цвета - PullRequest
0 голосов
/ 27 февраля 2019

Я автоматизирую конкретную деталь в этом тестовом жгуте.Одна из частей включает в себя то, что данные заполняются в ячейки Excel определенного цвета.Могу ли я использовать UsedRange.Find вместо итератора цикла for для поиска ячеек этого цвета?Я действительно не хочу перебирать каждую ячейку и делать cell.interior.colorindex, скорее оптимальный запрос.Я использую язык Python, и, поскольку я нахожусь в IDE инструмента тестирования, у меня нет доступа к xlrd.Так что это все COM.

1 Ответ

0 голосов
/ 27 февраля 2019

Обновление!
Да, вы можете использовать sheets(..).usedrange.find ...!
Мне не удалось воспроизвести результат sheets(..).usedrange.find сегодня!

Ниже (уменьшенный и исправленный) пример кода VBA:

Option Explicit

Sub Find_Yellow()
    Dim firstFind As Range
    Dim iCt As Integer
    For iCt = 1 To 2
        If iCt = 1 Then Range("C15").Interior.Color = -4142 'xlNone   = -4142
        If iCt = 2 Then Range("C15").Interior.Color = 65535 'vbyellow = 65535
        Call SetInteriorSearchColor(65535) 'vbyellow = 65535
        Set firstFind = Nothing
        On Error Resume Next
            Set firstFind = Sheets(1).Cells.Find("", Cells(1, 1), -4123, 2, 1, 1, False, , True)
        On Error GoTo 0
        If firstFind Is Nothing Then
            Debug.Print "round " & iCt & ": Yellow filled cell NOT found!"
        Else
            Debug.Print "round " & iCt & ": Yellow filled cell found at " & firstFind.Address & "!"
        End If
    Next iCt
End Sub

Sub SetInteriorSearchColor(IscColor As Long)
    With Application.FindFormat.Interior
        .PatternColorIndex = xlAutomatic
        .Color = IscColor 'vbyellow = 65535 'orange = 49407
        .TintAndShade = 0
        .PatternTintAndShade = 0
    End With
End Sub

непосредственное окно

round 1: Yellow filled cell NOT found!
round 2: Yellow filled cell found at $C$15!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...