summaryrefslogtreecommitdiff
path: root/sc
diff options
context:
space:
mode:
Diffstat (limited to 'sc')
-rw-r--r--sc/source/core/data/document.cxx9
1 files changed, 6 insertions, 3 deletions
diff --git a/sc/source/core/data/document.cxx b/sc/source/core/data/document.cxx
index 27078585df16..ec5cd5241b5a 100644
--- a/sc/source/core/data/document.cxx
+++ b/sc/source/core/data/document.cxx
@@ -1867,7 +1867,7 @@ void ScDocument::CopyToClip(const ScClipParam& rClipParam,
ScDocument* pClipDoc, const ScMarkData* pMarks,
bool bAllTabs, bool bKeepScenarioFlags, bool bIncludeObjects, bool bCloneNoteCaptions, bool bUseRangeForVBA )
{
- OSL_ENSURE( bAllTabs || pMarks, "CopyToClip: ScMarkData fails" );
+ OSL_ENSURE( !bUseRangeForVBA && ( bAllTabs || pMarks ), "CopyToClip: ScMarkData fails" );
if (bIsClip)
return;
@@ -1894,14 +1894,17 @@ void ScDocument::CopyToClip(const ScClipParam& rClipParam,
else
pClipDoc->ResetClip(this, pMarks);
- CopyRangeNamesToClip(pClipDoc, aClipRange, pMarks, bAllTabs);
+ if ( bUseRangeForVBA )
+ CopyRangeNamesToClip(pClipDoc, aClipRange, nTab );
+ else
+ CopyRangeNamesToClip(pClipDoc, aClipRange, pMarks, bAllTabs);
for ( ; i < nEndTab; ++i)
{
if (!maTabs[i] || i >= static_cast<SCTAB>(pClipDoc->maTabs.size()) || !pClipDoc->maTabs[i])
continue;
- if (pMarks && !pMarks->GetTableSelect(i))
+ if ( !bUseRangeForVBA && ( pMarks && !pMarks->GetTableSelect(i) ) )
continue;
maTabs[i]->CopyToClip(rClipParam.maRanges, pClipDoc->maTabs[i], bKeepScenarioFlags, bCloneNoteCaptions);