我正在将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版本的问题吗?有些人可以帮我解决这个问题吗?
答案 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的新手。