我正在编写一个将数据复制到模板表单的宏,以不同的名称保存表单,然后使用相同的空白表单进行复制。一些数据被复制到合并的单元格中。奇怪的是,我目前使用的代码适用于第一次,第二次和第三次迭代,但不适用于第四次。
我已经尝试了我能想到的一切,但它仍然没有成功。它给了我错误信息"我们无法对合并的单元格进行操作"。
以下是不会粘贴到单元格中的代码。
'
' Transfers Component 1 Data
'
Range("B27").Select
Selection.Copy
Windows("Protected_Form.xls").Activate
Range("B61:D61").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
以下是程序中早先粘贴到合并单元格中的代码:
'
' Transfers Component 1 Data
'
Range("AV194").Select
Selection.Copy
Windows("Protected_Form.xls").Activate
Range("B61:D61").Select
Selection.PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Operation:= _
xlNone, SkipBlanks:=False, Transpose:=False
正如您所看到的,唯一改变的是从中复制数据的单元格。
编辑: 刚刚意识到我在某些条件下在程序的早期使用了相同的代码(那些不工作的部分)。我只是尝试在这些条件下运行它并且它有效。
现在我非常困惑。随意请我澄清一下,我知道这很令人困惑。
另外:我知道.Select
。很慢,我不在乎。
答案 0 :(得分:2)
您是否尝试过完全限定范围参考?也许在程序范围的早期(“B27”)。选择是在一张纸上选择和范围(“B27”)。选择后面是从另一张纸中选择。
另外,不要竖琴而是......但选择不仅慢,而且往往会导致意想不到的结果,我怀疑这是你现在遇到的问题。我知道你在评论中说你没有时间(奢侈)来摆脱它,但是如果你需要调试,更改,修改,更新,现在花在清理代码上的时间将节省你的时间等等。我不会把它看成是一件苦差事,而是编写好的VBA代码的必要条件!