Excel VBA PasteSpecial 不适用于特定单元格

Excel VBA PasteSpecial not working for specific cells

我在 Excel 中有一些 VBA 代码,用于将信息从工作簿的一个 sheet 复制到同一工作簿中的另一个 sheet。除了目标 sheet 上的 3 个单元格外,所有 copy/paste 代码都有效,我不明白为什么。这是一个包含工作部分和损坏部分的代码片段。

'Works to copy A11 from "Job Entry" to A2 on "Work List"
Sheets("Job Entry").Select    
Range("A11").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Work List").Select
Range("A2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False

'Does not work to copy B11 from "Job Entry" to M2 on "Work List"
Sheets("Job Entry").Select
Range("B11").Select
Application.CutCopyMode = False
Selection.Copy
Sheets("Work List").Select
Range("M2").Select
Selection.PasteSpecial Paste:=xlValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False

将单元格 A11 从 "Job Entry" 复制到 "Work List" 的代码工作正常。但是,将单元格 B11 从 "Job Entry" 复制到 "Work List" 的代码不会。所有涉及的单元格都使用日期值,并且它们都被格式化为使用日期格式 MM/DD/YY.

我花了相当多的时间试图为此找到解决方案,但找不到任何可以帮助解决这个特定困境的方法。

只需将所有 Range("...").Select 替换为 "fully qualified" 符号:Activesheet.Range("...").Select.

除此之外,您似乎对 "macro recorder" 的输出进行了一些修改。 "real" VBA 代码用一行简单的代码(复制内容和格式)来处理样本的每个块,例如(对于第二个块):

Sheets("Job Entry").Range("B11").Copy Sheets("Work List").Range("M2") 

此外,如果您只是看重什么,那么@Scott Craner 的评论将达到目的。

当然,还要注意合并的单元格。

抱歉造成混淆。我弄清楚发生了什么事。虽然我 copy/pasting 的单元格没有合并,但在子例程中稍后复制的一些单元格被合并,并且它正在清除以前粘贴的数据。

感谢您提供的所有建议和信息。为菜鸟道歉:).