diff -uNr old/sc/source/ui/dbgui/tpsort.cxx new/sc/source/ui/dbgui/tpsort.cxx --- old/sc/source/ui/dbgui/tpsort.cxx 2008-02-15 16:55:56.000000000 +0800 +++ new/sc/source/ui/dbgui/tpsort.cxx 2008-09-19 11:29:26.000000000 +0800 @@ -242,7 +242,8 @@ } else { - aLbSort1.SelectEntryPos( 1 ); + USHORT nSort1Pos = pViewData->GetCurX() - rSortData.nCol1+1; + aLbSort1.SelectEntryPos( nSort1Pos ); aLbSort2.SelectEntryPos( 0 ); aLbSort3.SelectEntryPos( 0 ); aBtnUp1.Check(); diff -uNr old/sc/source/ui/view/cellsh2.cxx new/sc/source/ui/view/cellsh2.cxx --- old/sc/source/ui/view/cellsh2.cxx 2008-02-15 16:56:04.000000000 +0800 +++ new/sc/source/ui/view/cellsh2.cxx 2008-09-22 11:32:34.000000000 +0800 @@ -348,7 +348,7 @@ aSortParam.bIncludePattern = FALSE; aSortParam.bInplace = TRUE; aSortParam.bDoSort[0] = TRUE; - aSortParam.nField[0] = aSortParam.nCol1; + aSortParam.nField[0] = GetViewData()->GetCurX(); aSortParam.bAscending[0] = (nSlotId == SID_SORT_ASCENDING); for ( USHORT i=1; i