【问题标题】:VBA - pin a row under dynamic rangeVBA - 在动态范围内固定一行
【发布时间】:2016-08-14 06:57:35
【问题描述】:

我正在 VBA 中寻找解决方案,该解决方案将在动态范围下粘贴/固定 4 个单元格范围。我的意思是有时动态范围是 5 行,有时是 10 行。我需要一个对动态范围内的值求和的行,它应该直接在动态范围下。如果动态范围在第 5 行结束,求和行应为第 6 行,以此类推。

我将不胜感激。

【问题讨论】:

    标签: vba dynamic static range row


    【解决方案1】:

    希望我理解正确。以下脚本将单元格 A1 中的所有值添加到 LastRow 并在下面的单元格中打印结果

    Private Sub CommandButton1_Click()
    
        Dim LastRow As Long
        'get the number of the last row    
        With ActiveSheet
            LastRow = .Cells(.Rows.Count, 1).End(xlUp).Row
        End With
        'sum up all values and write the result below the last row
        Cells(LastRow, 1).Offset(1, 0).Value = _
        Application.Sum(Range(Cells(1, 1), Cells(LastRow, 1)))
    
    End Sub
    

    【讨论】:

    • 我是 VBA 的新手,我不知道如何在我现有的代码中准确使用此代码。
    • Sub CalcToPackingList() With Sheets("Calc") .Range("A1:E1", .Range("A1:E1").End(xlDown)).Copy Sheets ("PackingList" ).Cells(22, 3) End With End Sub 它是在目标工作表中创建列表的代码的一部分。我需要将我的静态范围放在动态创建的列表下。可以说,这个带有公式的范围可以在任何地方,但是如果我可以将它留在原处并将生成的列表放在标题行和求和行之间,那就太棒了。
    • 你想将 Range("A1:E1") 复制到 Cell(22,3) 并且现在 Cell(22,3) 也应该是动态的吗?
    • 不完全是,我会尝试清除它。我从将一些数据复制到 sheet2 中得到了 sheet1。在 sheet2 中,数据正在被排序/清理等等。然后,从表 2 以正确的顺序将这些数据复制到目标表(比如说 sheet3)。但是这组数据可能是 3 行,有时是 5 行,有时是 10 行。而不是在Sheet3中插入这个集合,我需要在这个集合下添加自动求和行。
    • 希望你现在能完全理解我。
    【解决方案2】:

    你可以使用这个来找到最后一行,例如:

    LastRow=Sheet1.Cells(Rows.Count, 1).End(xlUp).Row
    

    【讨论】:

    • 也许这就是要走的路。您能告诉我如何 - 例如 - 将我的特定数据粘贴到您显示的 LastRow 变量中吗?
    • Sheet1.Cells(LastRow, 1).Value = Variable 其中Variable 是您的具体数据
    • 这会将值粘贴到第一列
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-02
    • 1970-01-01
    • 1970-01-01
    • 2019-06-16
    • 1970-01-01
    相关资源
    最近更新 更多