我正在寻找一种从其他工作簿复制范围(复制范围存在于 11 列和各种行)的方法,并仅在我的主工作簿中现有数据的下方插入/粘贴值。
只是粘贴没有问题,但因为我不希望它覆盖最后一个(SUM-)行,所以我想插入这些值。据我所知,没有像 InsertSpecial xlInsertValues 这样的东西。
那么如何根据复制范围的计数行插入整个空行,而不是仅将值粘贴到“E”列到“O”列中?
一些先决条件是:
- copyrange 由 11 列和多种行组成
- 我试图避免在两个文档之间切换两次。因此,我只想打开外部工作簿,复制值,打开我的主工作簿,然后插入复制的数据,并在范围内左右插入空白单元格。
这就是我到目前为止所得到的。在插入部分一切都会出错,因为它不仅仅粘贴/插入值。请注意,它只是更大代码的一部分。 Rng31 是外部工作簿中复制的范围。
Dim Rng31 As Range
Set Rng31 = Rng21.Resize(Rng21.Rows.Count, Rng21.Columns.Count + 10)
Dim regels As Integer
regels = Rng31.Rows.Count
Rng31.Copy
Wbbase.Activate
Sheets(2).Activate
Dim onderste As Range
Set onderste = Range("E65536").End(xlUp).Offset(1, 0)
onderste.Insert shift:=xlDown
Selection.PasteSpecial xlPasteValues
...
InsertValues Rng21.Resize(Rng21.Rows.Count, Rng21.Columns.Count + 10), _
Wbbase.Sheets(2).Range("E65536").End(xlUp).Offset(1, 0)
...
Sub InsertValues(rngCopyFrom As Range, rngCopyTo As Range)
Dim rngDest As Range
Set rngDest = rngCopyTo.Resize(rngCopyFrom.Rows.Count, _
rngCopyFrom.Columns.Count)
Application.CutCopyMode = False 'Edit Added:clear any copied data
rngDest.Insert shift:=xlDown
rngDest.Offset(-rngCopyFrom.Rows.Count).Value = rngCopyFrom.Value
End Sub
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)