View Single Post
  #2   Report Post  
Posted to microsoft.public.excel.programming
Tomorrow Tomorrow is offline
external usenet poster
 
Posts: 7
Default How can I unmerge the merged cells in a Excel sheet quickly?

Pls help me :)

"Tomorrow" wrote:

I want a function like this:
to unmerge all merged cells in a Excel sheet and replaced all the merged
cells value with the originally merged area value after unmerging action.

I use the a cycle to fulfill it. But it's too too slowly if the Excel sheet
data is a little big. The code (c# code) as below:

for (int i=1; i<=Int32.Parse(ws.UsedRange.Rows.Count.ToString()) ;i++)
{
for (int j=1; j<=Int32.Parse(ws.UsedRange.Columns.Count.ToString ()); j++)
{
Excel.Range Range = (Excel.Range)ws.Cells[i,j];


if (bool.Parse(Range.MergeCells.ToString()))
{
int x = Int32.Parse(Range.MergeArea.Rows.Count.ToString()) ;
int y = Int32.Parse(Range.MergeArea.Columns.Count.ToString ());
string TempValue = Range.Text.ToString();

Range.MergeArea.UnMerge();

for (int m = i; m<(i+x); m++)
{
for (int n = j; n<(j+y); n++)
{
Excel.Range TempRange = (Excel.Range)ws.Cells[m,n];
TempRange.set_Value( Type.Missing,TempValue);
}
}
}

}
}


Does Somebody have another idea to do it quickly??
Thanks.