【问题标题】:Excel VBA - How to insert values only?Excel VBA - 如何仅插入值?
【发布时间】:2013-08-02 15:25:44
【问题描述】:

我正在寻找一种方法来从其他工作簿复制一个范围(copyrange 存在于 11 列和各种行中),并仅在我的主工作簿中已存在的数据下方插入/粘贴值。

只是粘贴没有问题,但因为我不希望它覆盖最后一个 (SUM-) 行,所以我想插入这些值。据我所知,没有像 InsertSpecial xlInsertValues 这样的东西。

那么如何根据复制范围的计数行插入整个空行,而不是将值仅粘贴到“E”到“O”列中?

一些先决条件是:

  • copyrange 存在于 11 列和各种行中
  • 我试图避免在两个文档之间切换两次。所以我只想打开 extern 工作簿,复制值,打开我的主工作簿,然后在范围内左右插入带有空白单元格的复制数据。

这是我到目前为止所得到的。插入部分都出错了,因为它不仅仅粘贴/插入值。请注意,它只是更大代码的一部分。 Rng31 是 extern 工作簿中复制的范围。

        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

【问题讨论】:

    标签: excel vba insert


    【解决方案1】:
    ...
    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
    

    【讨论】:

      【解决方案2】:

      问题是,如果您复制了一个单元格(即它在剪贴板上),您不能简单地“插入新行”,因为唯一的选择是“插入复制的单元格” 因此onderste.Insert 将插入复制的单元格并保留公式。此外,您然后调用Selection.PasteSpecial,我认为这不是您想要的,因为您从未在代码帖子中的任何位置设置您的选择,因此您之前选择的任何内容都将包含该值。

      你有几个选择:

      1. 您可以先插入行,然后复制并粘贴单元格值(这需要在工作簿之间来回切换)
      2. 复制单元格,插入新行(这就是您正在执行的操作),然后清除该行并粘贴值。

      附注:

      Range("E65536").End(xlUp).Offset(1, 0)

      最好写成

      Range("E" & Rows.Count).End(xlUp).Offset(1, 0)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-27
        • 1970-01-01
        • 2015-08-07
        相关资源
        最近更新 更多