1

VSTO を使用して、Excel スプレッドシートから名前付き範囲のリストを取得します。

public List<Name> GetNamedRanges(Workbook activeWorkbook)
{
    List<Name> namedRanges = new List<Name>();
    Name name;
    for (int i = 0; i < activeWorkbook.Names.Count; i++)
    {
        name = activeWorkbook.Names.Item(i + 1);
        if (!name.Value.Contains("#REF"))
        {
            namedRanges.Add(name);
        }       
    }
    return namedRanges;
}

これは名前を奇妙な順序で返します。

ここに画像の説明を入力

名前の範囲を列の順序で並べ替える簡単な方法はありますか。例えば:

=Sheet1!$A$9:$B$172
=Sheet1!$C$9:$D$172
=Sheet1!$E$41:$F$172

4

3 に答える 3

0

それらを Excel で並べ替えてから、ワークブックを再度読み込みます。(簡単な方法です。)

于 2013-08-21T07:24:49.800 に答える