我试图复制特定区域的内容,并将当前区域复制回摘要页。
不幸的是,我在将数据粘贴回摘要表时遇到了一些问题。
期望结果
将以下内容从复制的区域粘贴到摘要页:
拷贝源
源区域内有一些公式来收集一些表数据。见下图:

现在,每当我通过我的vba代码粘贴选定的区域时,
TitleBlockRange.CurrentRegion.Copy
nextEmptyCell.PasteSpecial (xlPasteFormats)
nextEmptyCell.PasteSpecial (xlPasteValues)我得到以下错误:

我已经尝试了我能想到的PasteSpecial()的每一个变体!
这里有没有我错过的方法?我应该用什么方法?
提前谢谢大家!
发布于 2021-01-01 08:35:04
合并细胞的诅咒。但是如果你被它们困住了,下面的代码就会复制所有的东西--只是速度更慢。
Sub CopyEverything()
' 153
Dim SrcRng As Range ' Source range
Dim Target As Range ' destination range
Dim i As Long ' loop counter: index of SrcRng.Cells
Set SrcRng = ActiveSheet.Cells(1, 1).CurrentRegion
Set Target = Worksheets("Sheet2").Cells(10, 1) _
.Resize(SrcRng.Rows.Count, SrcRng.Columns.Count)
Application.ScreenUpdating = False
With SrcRng
.Copy
Target.PasteSpecial xlPasteFormats
For i = 1 To .Cells.Count
With .Cells(i)
If .Address = .MergeArea.Cells(1).Address Then
Target.Cells(i).Value = .Value
End If
End With
Next i
End With
With Application
.CutCopyMode = False
.ScreenUpdating = True
End With
End Sub记住以下几点。
要复制行高,必须复制整行。若要复制列宽,必须复制整个列。
如果可以复制整个行或整个列或整个工作表,上述任务将更容易完成。但是,如果您部署了上面的代码,那么您已经具备了复制单个设置的基础设施,并且添加对您非常重要的维度的传输不应该超过几行。
发布于 2021-01-01 08:35:46
据我所知,没有办法复制完整的范围和粘贴以相同的格式(合并的单元格,高亮颜色和值)。要满足要求,可以分别复制和粘贴合并的单元格和未合并的单元格.
对于合并的单元格,请使用下面的代码
Range("B4").MergeArea.Copy
range("").Pastespecial在没有任何条件的情况下使用Pastespecial会粘贴any格式、any值。
发布于 2021-01-03 19:58:28
因此,如果你使用:
nextEmptyCell.PasteSpecial (xlPasteAll
nextEmptyCell.PasteSpecial (xlPasteValues)它将引发错误'1004‘,如原始帖子所示,但如果将其更改为以下内容:
nextEmptyCell.PasteSpecial (xlPasteAll)
nextEmptyCell.PasteSpecial (xlPasteValuesAndNumberFormats)我们能够覆盖来自xlPasteAll的公式
现在唯一的其他问题是,当我们到达nextEmptyCell.PasteSpecial (xlPasteValuesAndNumberFormats)代码行时,下面的“弹出”会带来麻烦。

https://stackoverflow.com/questions/65527150
复制相似问题