diff --git a/packages/sheets/src/services/ref-range/__tests__/util.spec.ts b/packages/sheets/src/services/ref-range/__tests__/util.spec.ts index 8065340faaa..3f7da2b7961 100644 --- a/packages/sheets/src/services/ref-range/__tests__/util.spec.ts +++ b/packages/sheets/src/services/ref-range/__tests__/util.spec.ts @@ -290,6 +290,18 @@ describe('test ref-range move', () => { const result = runRefRangeMutations(operators!, targetRange); expect(result).toEqual({ startRow: 6, endRow: 8, startColumn: 4, endColumn: 4 }); }); + it('the targetRange is in the range right with overlap, but startColumn is the same', () => { + const targetRange = { startRow: 6, endRow: 8, startColumn: 7, endColumn: 8 }; + const operators = handleDeleteRangeMoveLeft( + { + params: { range }, + id: EffectRefRangId.DeleteRangeMoveLeftCommandId, + }, + targetRange + ); + const result = runRefRangeMutations(operators!, targetRange); + expect(result).toEqual({ startRow: 6, endRow: 8, startColumn: 4, endColumn: 4 }); + }); it('the targetRange is overlap with range ', () => { const targetRange = { startRow: 10, endRow: 13, startColumn: 11, endColumn: 11 }; const operators = handleDeleteRangeMoveLeft( diff --git a/packages/sheets/src/services/ref-range/util.ts b/packages/sheets/src/services/ref-range/util.ts index dafd7fff3cf..04c37ecdeb9 100644 --- a/packages/sheets/src/services/ref-range/util.ts +++ b/packages/sheets/src/services/ref-range/util.ts @@ -304,7 +304,7 @@ export const handleBaseRemoveRange = (_removeRange: IRange, _targetRange: IRange } // 4 if ( - targetRange.startColumn > removeRange.startColumn && + targetRange.startColumn >= removeRange.startColumn && targetRange.startColumn <= removeRange.endColumn && targetRange.endColumn > removeRange.endColumn ) {