我需要在工作表中选择单元格集合。我可以找到如何选择一个范围,但不是当细胞“孤立”时。选择单元格集合
例如 “$ d $ 4”,$ G $ 9" ......
我的代码:
var excelApp = Globals.ThisAddIn.Application;
List<string> unlockedCells = new List<string>();
foreach (_Excel.Range cells in excelApp.ActiveSheet.UsedRange)
{
if (!cells.Locked)
{
unlockedCells.Add(cells.Address);
}
}
unlockedCells.ForEach(_c =>
{
excelApp.Range[_c].Select();
});
这里的问题是,每次选择一个新的范围时,先前的选择。失去
另一种方法它不工作,产生异常Exception from HRESULT: 0x800A03EC at Microsoft.Office.Interop.Excel._Application.get_Range(Object Cell1, Object Cell2)
我得到的范围如下:"$D$8,$E$8,$D$9,$E$9,$D$10,$E$10,$D$11,$E$11,$D$12,$E$12"
StringBuilder output = new StringBuilder();
...
output.Append(String.Format("{0},", cells.Address));
string rangeDef = output.ToString().Left(output.Length - 1);
excelApp.Range[rangeDef].Select();
我怎么能实现它?
Office版本2016
在循环中创建一个单元格引用的字符串,并使用您在循环之后创建的字符串来选择这些单元格。 – ManishChristian
@ManishChristian我已经试过这个解决方案,并没有工作。我会修改这个问题来展示我也做了什么。 – blfuentes
看看[** this **](http://stackoverflow.com/a/6155286/1652222)答案可能适用于您。 – ManishChristian