2016-08-12 5 views
0

Он все! Я новичок в офисной разработке. У меня есть часть кода, который должен найти значение в диапазоне, но его всегда возвращается как нуль: (я - это индекс итератора)Excel.Range.Find всегда возвращает null

xlWorkSheet.Cells[100, 100] = karts[i].minTime.ToString(); 
Excel.Range a = xlWorkSheet.Range["D2", "N2"].Find(xlWorkSheet.Cells[100, 100]); 
if(a!=null) 
      a.Borders.Color = 3; 

Так что, когда я нашел значение в диапазоне я хочу граничить его, но если он всегда пропускается нулем.

+0

Согласно https://msdn.microsoft.com/en-us/library/microsoft .office.interop.excel.range.find (VS.80) .aspx, он должен возвращать null, если он не находит то, что вы ищете. Вы уверены, что одна из 11 ячеек между D2 и N2 содержит именно то, что у вас есть в картах [i] .minTime.ToString()? –

+0

Да, я уверен – LionisIAm

ответ

2

Вы должны написать

while(a!=null) 
{ 
a.Borders.Color = 3; 
} 

Потому что найти будет выглядеть только для первого объекта все acording в Microsoft How to:

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