复制数据跳过空白

时间:2013-08-11 15:31:05

标签: excel excel-vba excel-2013 vba

美好的一天,请有人帮助我。我有2个电子表格,第二个电子表格复制的单元格与第一个完全相同。但我的问题是,在第一个电子表格中,我有空行,因为发票按日期顺序排列,而不是每天都有发票。我用于Vat目的的第二张表,并希望我的选择在列表表格中,以便只为簿记员打印1页。我有发票的地方,例如。在第一个电子表格的10日,15日和20日“我可以使用什么公式将3张发票显示在第二个电子表格中,例如,在第1,2,3行中,在另一个电子表格下方。

我20年前做过VBA,除了这个我无法理解我的生活之外的一切都是正确的。提前感谢任何可以帮助我的人。

1 个答案:

答案 0 :(得分:0)

突出显示,按F5,点击"特殊"选择"常数"或"公式"取决于它是硬编码还是公式化数据,然后点击确定。这将使所有空白单元格不在选择范围内,然后将正常粘贴复制到另一个工作簿。如果你在vba中这样做,那么在对象模型中可以使用

Selection.SpecialCells(xlCellTypeConstants, 23).Select
Selection.SpecialCells(xlCellTypeFormulas, 23).Select

更新:我忘记了excel中的错误(设计缺陷?),当你尝试复制非矩形选择时,它会导致错误。请参阅此处(该文章较旧但似乎适用于2013年):

http://support.microsoft.com/kb/100715

我相信互联网上有可用的宏来处理这个问题,其中一个就在这里

http://www.extendoffice.com/documents/excel/799-excel-copy-multiple-selections.html

快速解决方法是采用反向方法:使用"特殊"选择选择空格,然后删除它们。然后选择剩余单元格周围的矩形。

选择空白的VBA调用是

Selection.SpecialCells(xlCellTypeBlanks, 23).Select