diff --git a/main/sc/source/core/tool/rangeutl.cxx b/main/sc/source/core/tool/rangeutl.cxx old mode 100644 new mode 100755 index a75f714..1b283dd --- a/main/sc/source/core/tool/rangeutl.cxx +++ b/main/sc/source/core/tool/rangeutl.cxx @@ -286,7 +286,15 @@ sal_Bool ScRangeUtil::MakeRangeFromName ( ScRangeName& rRangeNames = *(pDoc->GetRangeName()); sal_uInt16 nAt = 0; - if ( rRangeNames.SearchName( rName, nAt ) ) + OUString sName (rName); + const sal_Int32 nSeparatorIndex (sName.indexOf('_')); + SCTAB nSheet (MAXTABCOUNT); + if (nSeparatorIndex >= 0) + { + nSheet = static_cast(sName.copy(nSeparatorIndex+1).toInt32()); + sName = sName.copy(0, nSeparatorIndex); + } + if ( rRangeNames.SearchName( sName, nAt, nSheet ) ) { ScRangeData* pData = rRangeNames[nAt]; String aStrArea; diff --git a/main/sc/source/ui/app/inputwin.cxx b/main/sc/source/ui/app/inputwin.cxx old mode 100644 new mode 100755 index 361f891..95e9fb6 --- a/main/sc/source/ui/app/inputwin.cxx +++ b/main/sc/source/ui/app/inputwin.cxx @@ -1500,7 +1500,15 @@ void ScPosWnd::FillRangeNames() ICCQsortNameCompare ); #endif for ( j=0; jGetName() ); + { + const SCTAB nSheet (ppSortArray[j]->GetRangeScope()); + if (nSheet == MAXTABCOUNT) + InsertEntry( ppSortArray[j]->GetName()); + else + InsertEntry( ppSortArray[j]->GetName() + + rtl::OUString::createFromAscii("_") + + rtl::OUString::valueOf(static_cast(nSheet))); + } delete [] ppSortArray; } }