Related: tdf#149325 Fix yet another VbaRange empty ScRangeList access

Change-Id: If2c44795ab794482b841138bdd55f37c4d30b592
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135824
Reviewed-by: Eike Rathke <erack@redhat.com>
Tested-by: Jenkins
(cherry picked from commit 9470c5531dc928d438a6a7f4d47f2d82f2296cc1)
Reviewed-on: https://gerrit.libreoffice.org/c/core/+/135874
Reviewed-by: Xisco Fauli <xiscofauli@libreoffice.org>
diff --git a/sc/source/ui/unoobj/cellsuno.cxx b/sc/source/ui/unoobj/cellsuno.cxx
index 6223079..566a989 100644
--- a/sc/source/ui/unoobj/cellsuno.cxx
+++ b/sc/source/ui/unoobj/cellsuno.cxx
@@ -6721,7 +6721,9 @@ uno::Reference<sheet::XSheetCellCursor> SAL_CALL ScTableSheetObj::createCursorBy
        if (pRangesImp)
        {
            const ScRangeList& rRanges = pRangesImp->GetRangeList();
            OSL_ENSURE( rRanges.size() == 1, "Range? Ranges?" );
            SAL_WARN_IF( rRanges.size() != 1, "sc", "ScTableSheetObj::createCursorByRange: Range? Ranges?");
            if (rRanges.empty())
                return nullptr;
            return new ScCellCursorObj( pDocSh, rRanges[ 0 ] );
        }
    }
diff --git a/sc/source/ui/vba/vbarange.cxx b/sc/source/ui/vba/vbarange.cxx
index d9a0083..351cbdc 100644
--- a/sc/source/ui/vba/vbarange.cxx
+++ b/sc/source/ui/vba/vbarange.cxx
@@ -1285,9 +1285,12 @@ uno::Reference< sheet::XSheetCellRange > lclExpandToMerged( const uno::Reference
    {
        aOldAddress = aNewAddress;
        uno::Reference< sheet::XSheetCellCursor > xCursor( xSheet->createCursorByRange( xNewCellRange ), uno::UNO_SET_THROW );
        xCursor->collapseToMergedArea();
        xNewCellRange.set( xCursor, uno::UNO_QUERY_THROW );
        aNewAddress = lclGetRangeAddress( xNewCellRange );
        if (xCursor.is())
        {
            xCursor->collapseToMergedArea();
            xNewCellRange.set( xCursor, uno::UNO_QUERY_THROW );
            aNewAddress = lclGetRangeAddress( xNewCellRange );
        }
    }
    while( bRecursive && (aOldAddress != aNewAddress) );
    return xNewCellRange;