0

現在、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)";}
        }
4

0 に答える 0