diff --git a/sc/source/core/data/documen3.cxx b/sc/source/core/data/documen3.cxx index 22731dc0a966..403e5f4809dc 100644 --- a/sc/source/core/data/documen3.cxx +++ b/sc/source/core/data/documen3.cxx @@ -1249,78 +1249,38 @@ void ScDocument::GetSearchAndReplaceStart( const SvxSearchItem& rSearchItem, { if ( rSearchItem.GetRowDirection() ) { - if ( rSearchItem.GetPattern() ) - { + rRow = MaxRow(); + if (!bReplace || rSearchItem.GetPattern()) + rCol = MaxCol() + 1; + else // bReplace rCol = MaxCol(); - rRow = MaxRow()+1; - } - else if ( bReplace ) - { - rCol = MaxCol(); - rRow = MaxRow(); - } - else - { - rCol = MaxCol()+1; - rRow = MaxRow(); - } } else { - if ( rSearchItem.GetPattern() ) - { - rCol = MaxCol()+1; + rCol = MaxCol(); + if (!bReplace || rSearchItem.GetPattern()) + rRow = MaxRow() + 1; + else // bReplace rRow = MaxRow(); - } - else if ( bReplace ) - { - rCol = MaxCol(); - rRow = MaxRow(); - } - else - { - rCol = MaxCol(); - rRow = MaxRow()+1; - } } } else { if ( rSearchItem.GetRowDirection() ) { - if ( rSearchItem.GetPattern() ) - { - rCol = 0; - rRow = SCROW(-1); - } - else if ( bReplace ) - { - rCol = 0; - rRow = 0; - } - else - { + rRow = 0; + if (!bReplace || rSearchItem.GetPattern()) rCol = SCCOL(-1); - rRow = 0; - } + else // bReplace + rCol = 0; } else { - if ( rSearchItem.GetPattern() ) - { - rCol = SCCOL(-1); - rRow = 0; - } - else if ( bReplace ) - { - rCol = 0; - rRow = 0; - } - else - { - rCol = 0; + rCol = 0; + if (!bReplace || rSearchItem.GetPattern()) rRow = SCROW(-1); - } + else // bReplace + rRow = 0; } } } diff --git a/sc/source/core/data/table6.cxx b/sc/source/core/data/table6.cxx index 8c703a1b0183..7cff7df026df 100644 --- a/sc/source/core/data/table6.cxx +++ b/sc/source/core/data/table6.cxx @@ -639,7 +639,7 @@ bool ScTable::SearchStyle(const SvxSearchItem& rSearchItem, SCCOL& rCol, SCROW& bool bBack = rSearchItem.GetBackward(); short nAdd = bBack ? -1 : 1; - if (bRows) // by row + if (!bRows) // by column { if ( !IsColValid( nCol ) ) { @@ -663,7 +663,7 @@ bool ScTable::SearchStyle(const SvxSearchItem& rSearchItem, SCCOL& rCol, SCROW& } while ( !bFound && IsColValid( nCol ) ); } - else // by column + else // by row { SCCOL aColSize = aCol.size(); std::vector< SCROW > nNextRows ( aColSize );