【问题标题】:Excel VBA - Copy/Paste range from one sheet to all proceeding sheetsExcel VBA - 从一张表复制/粘贴范围到所有后续表
【发布时间】:2018-08-29 20:28:41
【问题描述】:

第一次问问题,如果我遗漏了什么,请告诉我。

我从另一个 SO 帖子中找到了此代码。我正在尝试将整个工作表从“DNU”复制到每个进行中的工作表中。我遇到的问题是这将粘贴值,但我希望定期粘贴以保留格式和公式。我尝试从“值”更改为复制和粘贴,但这最终导致错误。任何帮助表示赞赏。谢谢。

代码如下: ~

Dim wsVar As Worksheet

Dim i as Integer
For i = 6 to ThisWorkbook.Worksheets.Count
    ThisWorkbook.Worksheets(i).Range("A1:y200").Value = ThisWorkbook.Worksheets("DNU").Range("A1:Y200").Value
Next i

End Sub

【问题讨论】:

  • ThisWorkbook.Worksheets("DNU").Range("A1:Y200").Copy ThisWorkbook.Worksheets(i).Range("A1")
  • @BigBen 是的,谢谢)已修复)

标签: vba excel loops copy-paste


【解决方案1】:

使用 Range 对象的 Copy() 方法

Dim wsVar As Worksheet
Dim i as Integer
With ThisWorkbook
    For i = 6 to .Worksheets.Count
        .Worksheets("DNU").Range("A1:Y200").Copy destination:=.Worksheets(i).Range("A1:Y200")
    Next 
End With

【讨论】:

  • 遇到另一个问题,即新工作表中的列宽与“DNU”工作表不同。有没有办法复制宽度格式?
  • 对于 i = 6 到 .Worksheets.Count .Worksheets("DNU").Range("A1:Y200").Copy .Worksheets(i).Range("A1:Y200")。 PasteSpecial Paste:=xlPasteAll .Worksheets(i).Range("A1:Y200").PasteSpecial Paste:=xlPasteColumnWidths Next
  • 谢谢! “DNU”中的分组不会保存到新工作表中是否有原因?有没有办法解决这个问题,还是需要在每个工作表中重新分组?
  • @Hiimtroymcclure,我不使用组,因此无法为您提供帮助。但是,如果我的回答解决了您最初的问题,您可能希望将其标记为已接受。谢谢
猜你喜欢
  • 1970-01-01
  • 2022-10-08
  • 2015-02-09
  • 1970-01-01
  • 2020-01-13
  • 1970-01-01
  • 1970-01-01
  • 2017-03-17
  • 1970-01-01
相关资源
最近更新 更多