diff options
-rw-r--r-- | sc/source/core/tool/token.cxx | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/sc/source/core/tool/token.cxx b/sc/source/core/tool/token.cxx index 99a26a85bcf6..569834aec9d5 100644 --- a/sc/source/core/tool/token.cxx +++ b/sc/source/core/tool/token.cxx @@ -2812,6 +2812,8 @@ sc::RefUpdateResult ScTokenArray::AdjustReferenceOnMove( ScRange aOldRange = rCxt.maRange; aOldRange.Move(-rCxt.mnColDelta, -rCxt.mnRowDelta, -rCxt.mnTabDelta); + bool b3DFlag = rOldPos.Tab() != rNewPos.Tab(); + FormulaToken** p = pCode; FormulaToken** pEnd = p + static_cast<size_t>(nLen); for (; p != pEnd; ++p) @@ -2830,6 +2832,7 @@ sc::RefUpdateResult ScTokenArray::AdjustReferenceOnMove( } rRef.SetAddress(aAbs, rNewPos); + rRef.SetFlag3D(b3DFlag); } break; case svDoubleRef: @@ -2844,6 +2847,8 @@ sc::RefUpdateResult ScTokenArray::AdjustReferenceOnMove( } rRef.SetRange(aAbs, rNewPos); + if (b3DFlag) + rRef.Ref1.SetFlag3D(true); } break; case svIndex: |