現在、C# と vsto を使用して Excel アドインを開発しています。関数の 1 つは、選択したすべてのセルの値を最も近いドルに丸めることです。以下は私が実装しようとしたコードで、いくつかのセルが選択されていると完全に機能するようです。
ただし、選択されているセルの数が多い場合 (たとえば、列全体)、ジョブを実行するのに膨大な時間がかかります。コードの効率を改善する方法があればお聞きしたいです。
Excel.Application ExApp = Globals.Helper.Application as Excel.Application;
Excel.Worksheet ExWorksheet = ExApp.ActiveSheet as Excel.Worksheet;
Excel.Range rng = (Excel.Range)ExApp.ActiveCell;
Microsoft.Office.Interop.Excel.Range selectedRange =
ExApp.ActiveWindow.RangeSelection;
foreach (Excel.Range r in selectedRange.Cells)
{
if(r.Formula!=null)
{
string v = r.Formula.Replace("=", "");
r.Formula = "=Round(" + v + ",0)";}
}