我需要在工作表中選擇單元格集合。我可以找到如何選擇一個範圍,但不是當細胞「孤立」時。選擇單元格集合
例如 「$ 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