summaryrefslogtreecommitdiff
path: root/sc/source/core/tool/interpr1.cxx
diff options
context:
space:
mode:
Diffstat (limited to 'sc/source/core/tool/interpr1.cxx')
-rw-r--r--sc/source/core/tool/interpr1.cxx7
1 files changed, 6 insertions, 1 deletions
diff --git a/sc/source/core/tool/interpr1.cxx b/sc/source/core/tool/interpr1.cxx
index 31e98b1561fd..ec7c41fdc0f2 100644
--- a/sc/source/core/tool/interpr1.cxx
+++ b/sc/source/core/tool/interpr1.cxx
@@ -7031,13 +7031,18 @@ void ScInterpreter::ScIndirect()
// Use the current address syntax if unspecified.
eConv = pDok->GetAddressConvention();
+ // either CONV_A1_XL_A1 was explicitly configured, or nothing at all
+ // was configured
+ bool bTryXlA1 = (eConv == FormulaGrammar::CONV_A1_XL_A1 ||
+ !maCalcConfig.mbHasStringRefSyntax);
+
if (nParamCount == 2 && 0.0 == ::rtl::math::approxFloor( GetDouble()))
{
// Overwrite the config and try Excel R1C1.
eConv = FormulaGrammar::CONV_XL_R1C1;
+ bTryXlA1 = false;
}
- bool bTryXlA1 = (eConv == FormulaGrammar::CONV_A1_XL_A1);
const ScAddress::Details aDetails( bTryXlA1 ? FormulaGrammar::CONV_OOO : eConv, aPos );
const ScAddress::Details aDetailsXlA1( FormulaGrammar::CONV_XL_A1, aPos );