【问题标题】:Pasting errors in Excel 2013 VBAExcel 2013 VBA 中的粘贴错误
【发布时间】:2014-01-10 12:08:48
【问题描述】:

我有一个 VBA 脚本,它结合了一堆 Excel 文件中的数据并整齐地呈现结果。 它通过打开一个输入文件、复制所需范围的数据并将其粘贴到结果文件中来重复执行此操作。

我们刚刚升级到 Office 2013,有些粘贴到了错误的位置,例如:

  Workbooks(currentBook).Sheets("InputList").Range("E1:F1000").Copy
  ThisWorkbook.Sheets("Results").Range("B2").PasteSpecial Paste:=xlPasteValuesAndNumberFormats

不是粘贴到单元格 B2 而是粘贴到 J1。

另一个应该给出的复制粘贴操作:

Location    Date    Value
Location    Date    Value
Location    Date    Value

通过执行此代码:

Workbooks(currentBook).Sheets("Pay").Range("B1:B2").Copy
ThisWorkbook.Sheets("Problem Sheets").Range("E1").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
ThisWorkbook.Sheets("Problem Sheets").Range("E1:E2").Copy
ThisWorkbook.Sheets("Problem Sheets").Range("A" & problemCell).PasteSpecial Paste:=xlPasteValuesAndNumberFormats, Transpose:=True
ThisWorkbook.Sheets("Problem Sheets").Range("E1:E2").ClearContents
problemCell = problemCell + 1

反而以:

结束
Location    Location   Value
Location    Location   Value
Blank       Blank      Value

我非常感谢在理解和处理此行为方面提供任何帮助 - 我需要能够信任此文件中的结果,而在 Office 2010 中我可以!

【问题讨论】:

    标签: vba excel excel-2013


    【解决方案1】:

    替换:

    ThisWorkbook.Sheets("Results").Cells("B2").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
    

    ThisWorkbook.Sheets("Results").Range("B2").PasteSpecial Paste:=xlPasteValuesAndNumberFormats
    

    等等

    【讨论】:

    • 啊,不知道是怎么进来的。你说得对,这个错误是对的,但是在做出这个改变之后问题仍然存在。
    【解决方案2】:

    这个问题可以通过遍历所需范围来纠正,将每个目标单元格的值分配为等于源单元格的值,如下所示:

    For copyCount = 1 To 1000
        ThisWorkbook.Sheets("Pay").Cells(copyCount + 1, 2).Value = _
            Workbooks(currentBook).Sheets("Employee List").Cells(copyCount, 5).Value
        ThisWorkbook.Sheets("Pay").Cells(copyCount + 1, 3).Value = _
            Workbooks(currentBook).Sheets("Employee List").Cells(copyCount, 6).Value
        ThisWorkbook.Sheets("Pay").Cells(copyCount + 1, 1).Value = _
            Workbooks(currentBook).Sheets("Employee List").Cells(copyCount, 7).Value
    Next
    

    虽然这解决了复制和粘贴功能遇到的问题,但它并没有解释错误的根源,所以我仍然对与此相关的任何答案感兴趣。

    【讨论】:

      猜你喜欢
      • 2017-11-25
      • 2017-11-28
      • 1970-01-01
      • 1970-01-01
      • 2020-06-16
      • 1970-01-01
      • 2015-07-29
      • 2013-12-27
      • 1970-01-01
      相关资源
      最近更新 更多