--- sc/source/ui/app/inputhdl.cxx 2005-08-31 21:44:52.855035064 +0530 +++ sc/source/ui/app/inputhdl.cxx 2005-08-31 08:17:51.000000000 +0530 @@ -1617,7 +1617,8 @@ BOOL ScInputHandler::StartTable( sal_Uni if ( bAutoComplete ) GetColData(); - if ( aStr.GetChar(0) == '=' && !cTyped && !bCreatingFuncView ) + if ( (aStr.GetChar(0) == '=' || aStr.GetChar(0) == '+' || aStr.GetChar(0) == '-') + && !cTyped && !bCreatingFuncView ) InitRangeFinder(aStr); // Formel wird editiert -> RangeFinder bNewTable = TRUE; // -> PostEditView-Aufruf @@ -1811,7 +1812,8 @@ void ScInputHandler::UpdateFormulaMode() { SfxApplication* pSfxApp = SFX_APP(); - if ( pEngine->GetParagraphCount()==1 && pEngine->GetText((USHORT)0).GetChar(0) == '=' + if ( pEngine->GetParagraphCount()==1 && (pEngine->GetText((USHORT)0).GetChar(0) == '=' + || pEngine->GetText((USHORT)0).GetChar(0) == '+' || pEngine->GetText((USHORT)0).GetChar(0) == '-') && !bProtected ) { if (!bFormulaMode) --- sc/source/ui/view/viewfunc.cxx 2005-07-17 21:30:12.000000000 +0530 +++ sc/source/ui/view/viewfunc.cxx 2005-09-01 19:36:08.000000000 +0530 @@ -450,8 +450,13 @@ void ScViewFunc::EnterData( SCCOL nCol, } BOOL bNumFmtChanged = FALSE; + double fVal; + ULONG nIndex = 0; + // einzelnes '=' ist String (wird fuer Spezialfilter so gebraucht) - if ( rString.GetChar(0) == '=' && rString.Len() > 1 ) + if ( rString.Len() > 1 && + ( rString.GetChar(0) == '=' || rString.GetChar(0) == '+' || rString.GetChar(0) == '-' ) && + (pDoc->GetNumberFormat(nCol, nRow, nTab, nIndex), !rFormatter.IsNumberFormat(rString, nIndex, fVal))) { // Formel, compile mit AutoCorrection for (i=0; i