diff -uNr old/sc/source/ui/view/cellsh2.cxx new/sc/source/ui/view/cellsh2.cxx --- old/sc/source/ui/view/cellsh2.cxx 2008-10-13 16:57:12.000000000 +0800 +++ new/sc/source/ui/view/cellsh2.cxx 2008-10-13 16:58:38.000000000 +0800 @@ -341,15 +341,20 @@ ScSortParam aSortParam; ScDBData* pDBData = pTabViewShell->GetDBData(); SCCOL nCol = GetViewData()->GetCurX(); + SCCOL nTab = GetViewData()->GetTabNo(); + ScDocument* pDoc = GetViewData()->GetDocument(); + BOOL bHasHeader = FALSE; pDBData->GetSortParam( aSortParam ); + bHasHeader = pDoc->HasColHeader( aSortParam.nCol1, aSortParam.nRow1, aSortParam.nCol2, aSortParam.nRow2, nTab ); + if( nCol < aSortParam.nCol1 ) nCol = aSortParam.nCol1; else if( nCol > aSortParam.nCol2 ) nCol = aSortParam.nCol2; - aSortParam.bHasHeader = FALSE; + aSortParam.bHasHeader = bHasHeader; aSortParam.bByRow = TRUE; aSortParam.bCaseSens = FALSE; aSortParam.bIncludePattern = FALSE;