раскраска строки, включая ячейки в скрытых столбцах - PullRequest
0 голосов
/ 29 мая 2018

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

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

Есть лиесть ли шанс покрасить весь ряд, хотя некоторые ячейки скрыты макросом?

Спасибо

Ответы [ 2 ]

0 голосов
/ 29 мая 2018

Должен сказать, что я не смог воссоздать проблему.Используя такой код:

Rows(1).Interior.Color = vbBlue

Цвет всех ячеек подряд, даже скрытых.Но, тем не менее, в вашем случае, возможно, используйте кусок кода, чтобы перебрать все ячейки в строке до последнего использованного столбца и покрасить каждый фрагмент по отдельности.Надеюсь, это решит вашу проблему:

Sub SpecialLoop()
    Dim cl As Range, rng As Range
    Dim rw As Long

    rw = 5 'Obviously just type any row here or get the rownr. some other way    
    Set rng = ActiveSheet.Range(Cells(rw, 1), Cells(rw, ActiveSheet.Cells(rw, Columns.Count).End(xlToLeft).Column))

    For Each cl In rng
        If Intersect(cl, rng.SpecialCells(xlCellTypeVisible)) Is Nothing Then 
            Range(cl.Address).Interior.Color = vbBlue
        Else
            Range(cl.Address).Interior.Color = vbBlue
        End if            
    Next cl
End Sub

В любом случае, я надеюсь, что вы можете исправить это сейчас :)

0 голосов
/ 29 мая 2018

Спасибо.Я решил проблему, просто добавив следующую строку кода и выбрав ячейки, которые я хотел закрасить:

ActiveSheet.Range("A1:A1").Interior.ColorIndex = 1

Цвет, конечно, можно изменить.

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