2016-05-04 12 views

答えて

1

は私がしようとする方法を知らない

Microsoft.Office.Interop.Excel._Worksheet worksheet; 
    int endColumn = 16384; 
    int endRow = 65536; 
    var results= new List<Excel.Range>(); 
    for(var i=0;i<=endColumn;i++) 
    { 
     for(var j=0;j<=endRow;j++) 
     { 
      if(worksheet.Cells[j,i].Interior.Color == System.Drawing.ColorTranslator.ToOle(System.Drawing.Color.LightBlue)) 
     { 
      result.Add(worksheet.Cells[j,i]); 
     } 
     } 
    } 
+0

リストを避けるか、リストを範囲 –

+0

に変換することは可能です。要件を正確に知っているわけではありませんので、LightBlueの範囲がかなり異なると想定しています。あなたは小さな関数を作成し、それを再帰的に使うことができます...しかし、あなたはパフォーマンスがないかもしれません。 –

+0

私はLightBlue範囲をたくさん持っています。しかし、行が青の場合は完全に青です。私はすべての細胞をループする必要はありません。 –

関連する問題