2016-10-01 6 views
-3

Я должен найти все ячейки с необходимым значением моей программой на C#. Эти ячейки беспорядочны и развращены, как вы видите в примере ниже текста (я выбрал их, используя инструмент поиска на панели инструментов).Как найти диапазон ячеек? Excel C#

Все, что мне нужно, - это выбрать ячейки с необходимым значением в разновидности (чтобы изменить их цвет).

https://s16.postimg.org/x5dahxlwl/image.png

+0

Что вы пробовали? Я думаю, вам нужно будет получить целый ряд «используемых» ячеек. В противном случае, когда вы остановитесь? Ряд «использованных» ячеек даст вам диапазон для циклирования через ячейку, проверяя ячейки на ваши значения и изменяя цвет, когда это необходимо. Чтобы получить все «используемые» ячейки в листе: Excel.Range usedRange = xlWorksheet.UsedRange ... usedRange - это ячейки, которые вам нужно искать через. Foreach (Excel.Range row in usedRange.Rows) и т. Д. ... в любом случае лучше всего показать, что вы пробовали. – JohnG

+0

@JohnG Я дам вам кусочек моего кода после ночи. Thx для ответа. –

+0

Или ... поскольку у вас есть доступ к файлу excel ... вы также можете использовать его функции поиска ... – JohnG

ответ

0
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; 
     } 
    } 
} 
+0

Thx. Это хорошо, но не совсем то, что я просил –

+0

, какие ячейки вы хотите выбрать? – Peroxy

+0

Я хочу найти все ячейки, которые содержат значение «Т» –

Смежные вопросы