我正在为前端dwh(SAP BI 4.2-> 4.3)测试新版本。我意识到导出的excel文件现在似乎工作方式有所不同。它们仍然是.xlsx文件,外观相同,但是在粘贴数据时,现有的vbs脚本不再起作用。始终发生的错误是:
此操作不适用于多项选择
发生此错误的一个简单的代码示例是:
For i = 4 To 29
objInput.Worksheets("Worksheet").Range("D"&i&":M"&i).Copy
objWorkbook.Worksheets("Worksheet").Range("D"&i&":M"&i).PasteSpecial -4163, -4142, False, False
单元格只有数字,仅此而已。并且始终是PasteSpecial行导致错误。
就像我说的那样,我在导出的excel文件(4.1与4.2)中找不到任何区别,但是我发现在一种情况下,“新”文件的大小为19kb,而旧文件(适用于脚本)为19kb 18,9kb。
有没有办法找出两个文件之间的区别?还是有人知道为什么现在正在发生vbs中的错误?
在任何工作簿的范围内是否都隐藏有任何单元格?
—
马塔·朱哈斯(MátéJuhász)
不,没有隐藏的东西
—
mangix
VBS还是VBA?可以
—
Raystafarian
PasteSpecial xlPasteValues
吗
创建一个宏,进行特殊粘贴,然后检查代码并验证差异。那应该揭示差异。
—
ejbytes
我也注意到您正在使用For,Loop。如果是这样,您就不需要使用“复制”,因为您不需要格式化,而只需要值。对?因此
—
ejbytes
Workbook--Cells.Range("D"&i&":M"&i).Value = Input--Cells.Range("D"&i&":M"&i).Value
,当然要使用正确的编码,但这就是想法。