diff -uPr old/sc/source/ui/view/cellsh2.cxx new/sc/source/ui/view/cellsh2.cxx --- old/sc/source/ui/view/cellsh2.cxx 2009-01-19 17:04:40.000000000 +0800 +++ new/sc/source/ui/view/cellsh2.cxx 2009-01-19 17:07:36.000000000 +0800 @@ -570,15 +570,23 @@ case SID_UNFILTER: { + ScRange aRange; ScQueryParam aParam; - ScDBData* pDBData = pTabViewShell->GetDBData(); - - pDBData->GetQueryParam( aParam ); - SCSIZE nEC = aParam.GetEntryCount(); - for (SCSIZE i=0; iQuery( aParam, NULL, TRUE ); + ScDBData* pData = NULL; + ScDocShell* pDocSh = GetViewData()->GetDocShell(); + + ScMarkType eMarkType = GetViewData()->GetSimpleArea( aRange); + if(eMarkType) + pData = pDocSh->GetDBData( aRange, SC_DB_MAKE, FALSE ); + if(pData) + { + pData->GetQueryParam( aParam ); + SCSIZE nEC = aParam.GetEntryCount(); + for (SCSIZE i=0; iQuery( aParam, NULL, TRUE ); + } rReq.Done(); } break;