Fastest way to get an Excel Range of Rows

Gayan Dasanayake picture Gayan Dasanayake · Sep 11, 2012 · Viewed 72.8k times · Source

In a VSTO C# project I want to get a range of rows from a set of row indexes.

The row indexes can be for example like "7,8,9,12,14".

Then I want the range "7:9,12,14" rows.

I now do this:

Range rng1 = sheet.get_Range("A7:A9,A12,A14", Type.Missing);
rng1  = rng1.EntireRow;

But it's a bit inefficient due to string handling in range specification.

sheet.Rows["7:9"]

works but I can't give this

sheet.Rows["7:9,12,14"] // Fails

Answer

Reafidy picture Reafidy · Sep 11, 2012

Try this:

Sheet.Range("7:9,12:12,14:14")

EDIT: Sorry if using VSTO in C# it should have been:

sheet.get_Range("7:9,12:12,14:14", Type.Missing)