Как выделить диапазон ячеек подряд на основе значения одной ячейки? - PullRequest
0 голосов
/ 23 апреля 2019

У меня установлен условный формат, в котором он будет выделять ячейку на основе значений в списке строк.Это хорошо работает, но мне нужно выделить определенный диапазон в ряду, а не только одну ячейку.

Мне нужен диапазон xlsNewSheet.Range [xlsNewSheet.Cells [x, 1], xlsNewSheet.Cells [x, 8]], выделенный в каждой строке, где определенная ячейка равна строке.

Excel.Range formatRange6 = (Excel.Range)xlsNewSheet.Range[xlsNewSheet.Cells[2, 2], xlsNewSheet.Cells[rw, 2]].Cells;
for (var k = 0; k < DesignIDs.Count; k++)
{
    if (k % 2 == 0)
    {
        Excel.FormatCondition format2 = (Excel.FormatCondition)formatRange6.FormatConditions.Add(Excel.XlFormatConditionType.xlTextString, Type.Missing, Type.Missing, Type.Missing, "" + DesignIDs[k] + "", Excel.XlFormatConditionOperator.xlEqual, Type.Missing, Type.Missing);
        format2.Interior.Color = 0x8FBC8F;
        Marshal.ReleaseComObject(format2);
        format2 = null; 
    }
    else
    {
        Excel.FormatCondition format2 = (Excel.FormatCondition)formatRange6.FormatConditions.Add(Excel.XlFormatConditionType.xlTextString, Type.Missing, Type.Missing, Type.Missing, "" + DesignIDs[k] + "", Excel.XlFormatConditionOperator.xlEqual, Type.Missing, Type.Missing);
        format2.Interior.Color = 0x5858C1;
        Marshal.ReleaseComObject(format2);
        format2 = null;
    }
}

Я пытался использовать цвет одной ячейки, чтобы установить остальные ячейки в строке, но, похоже, я не могу сделать утверждение на основе цвета ячейки.

for (var n = 1; n < formatRange6.Cells.Count; n++)
{
    Excel.Range formantRange8 = (Excel.Range)xlsNewSheet.Range[xlsNewSheet.Cells[n, 1], xlsNewSheet.Cells[n, 8]].Cells;
    if (xlsNewSheet.Cells[n][2].Interior.Color == "certain color")
        formantRange8.Interior.Color = 0x8FBC8F;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...