Worksheet sheet = Globals.ThisAddIn.Application.ActiveSheet;
Range rng = sheet.UsedRange;
foreach (Range column in from Range row in rng.Rows from Range column in row.Columns where column.Value == "T" select column)
{
column.Interior.Color = Color.Red;
}
Этот фрагмент кода будет выбрать активный рабочий лист, выберите весь используемый диапазон, перебирать ее строк и столбцов, и раскрасить все те клетки, которые содержат значение «T».
Если вы не можете понять, первое решение, вы можете использовать что-то вроде этого, что является немного более легким на глазах:
foreach (Range row in rng.Rows)
{
foreach (Range column in row.Columns)
{
if (column.Value == "test")
{
column.Interior.Color = Color.Red;
}
}
}
Что вы пробовали? Я думаю, вам нужно будет получить целый ряд «используемых» ячеек. В противном случае, когда вы остановитесь? Ряд «использованных» ячеек даст вам диапазон для циклирования через ячейку, проверяя ячейки на ваши значения и изменяя цвет, когда это необходимо. Чтобы получить все «используемые» ячейки в листе: Excel.Range usedRange = xlWorksheet.UsedRange ... usedRange - это ячейки, которые вам нужно искать через. Foreach (Excel.Range row in usedRange.Rows) и т. Д. ... в любом случае лучше всего показать, что вы пробовали. – JohnG
@JohnG Я дам вам кусочек моего кода после ночи. Thx для ответа. –
Или ... поскольку у вас есть доступ к файлу excel ... вы также можете использовать его функции поиска ... – JohnG