在Excel中复制粘贴后隐藏的行未隐藏

时间:2018-03-26 10:08:47

标签: excel vba excel-vba excel-2010 excel-2013

我正在将excel工作簿的内容复制到另一个工作簿。我的工作表中几乎没有隐藏的行,这些行也必须隐藏在目标工作簿中。 我使用以下代码行来复制数据:

'Set rngCopyRange = wbSource.ActiveSheet.Cells
rngCopyRange.Copy

这在Win 10 64位,Office 2013 64位或Office 2016 32位组合中运行良好 但是在Windows 10 64b,Office 2010 32b或2013 32b组合中,隐藏的行不会被隐藏。 这是excel版本的问题吗?有些人可以帮我解决这个问题吗?

3 个答案:

答案 0 :(得分:1)

  

99%*的人隐藏行然后复制和粘贴的情况   他们到另一个地方,他们实际上并不需要隐藏的行   存在于目的地

...所以我采取了一个平底船并提供了解决方案:

rngCopyRange.SpecialCells(xlCellTypeVisible).Copy

*像所有好的统计数据一样,我把它做成了

答案 1 :(得分:1)

有多奇怪。我使用2013(64位),如果我使用你的代码,我不会将每行的隐藏属性复制到目标。

我认为您遇到的问题是您要在不扩展到所有列的范围内进行复制,因此设置行高(即所有列)将是反击的,直观。

如果您在复制范围中添加.EntireRow,则会出现行高:

Set rngCopyRange = wbSource.ActiveSheet.UsedRange.EntireRow

答案 2 :(得分:0)

这只是一个推测,但如果您使用的是wbSource.ActiveSheet.Cells,则不是要复制所有该工作表中的单元格,包括隐藏的 ?也许Office版本的逻辑略有不同,尽管我还是VBA的新手。