excel - VBA:只有可见的单元格被粘贴
问题描述
我正在尝试从幻灯片中的图表复制后端数据并将其粘贴到 Excel 中。问题是只有可见的列被粘贴。在研究中,我发现虽然复制包括隐藏单元格在内的所有内容确实被复制,但由于某种原因,只能粘贴可见单元格。所以我正在努力寻找一种粘贴所有内容的方法。有一个选项可以在复制之前取消隐藏列,但是因为图表中嵌入的 excel 的任何更改往往会保留,所以尽量避免这种情况。
此外,似乎只有.PasteSpecial Paste:=xlPasteAll适用于 ppt 图表数据。.PasteSpecial Paste:=xlPasteValuesAndNumberFormats ; .PasteSpecial Paste:=xlPasteValues和其他不起作用。
任何帮助深表感谢。
代码:
Dim rng As Excel.Range
Set rng = chtdat.Workbook.Sheets(1).Range("A1:Z17") 'Col C to G is hidden
'Have tried the following: UsedRange, CurrentRegion
rng.Copy
On Error Resume Next
chtdat.Workbook.Close , False
On Error GoTo 0
If QCWbk.Sheets("QC-Sheet").Range("B3") = "" Then
'QCWbk.Sheets("QC-Sheet").Range("B2").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
'QCWbk.Sheets("QC-Sheet").Range("B2").PasteSpecial Paste:=xlPasteValues
'QCWbk.Sheets("QC-Sheet").Range("B2").PasteSpecial Paste:=xlPasteAll
QCWbk.Sheets("QC-Sheet").Range("CheckThis").Sort key1:=QCWbk.Sheets("QC-Sheet").Range("B2:B17"), order1:=xlAscending, Header:=xlYes
QCWbk.Save
QCWbk.Close
Else
解决方案
尝试复制方法,它将复制所有值,包括隐藏列,虽然我没有测试不同的工作簿,但它应该可以工作
Sheet1.Range("D5:F5").Copy Sheet1.Range("M2:O2")
如果您只想复制可见单元格,则包括特殊的单元格功能将起作用
Sheet1.Range("D5:F5").SpecialCells(xlCellTypeVisible).Copy Sheet1.Range("M2:O2")
推荐阅读
- r - 将半向量化转换为全矩阵的最聪明方法
- python-3.x - 在cmd中使用python3.5时的python脚本
- asp.net - 我的 .cshtml 页面打不开
- java - java.lang.NoSuchMethodError: org.apache.hive.service.cli.TableSchema
- javascript - Webpack javascript Object.assign 与“=”
- c++11 - 标准::地图
插入错误:base_class 是 derived_class 的不可访问基础 - json - 加入引号,逗号分隔的字符串(给定包含这些字符串的结构列表)
- google-apps-script - 谷歌表中的秒表功能可能吗?
- testng - 重试分析器和范围报告
- reactjs - react-router v4 的 Route 没有将它的 props 传递给组件 - 在 React Typescript 中