VBA插入公式以将单元格的值添加到另一个

时间:2018-10-03 17:16:12

标签: excel vba formula

我尝试为命令按钮创建VBA公式而失败,该公式将采用单元格S2的值并将其与G列的最后一个单元格的值相加(为此不断添加此列,使行与众不同每一次)。我想将结果放置在列I的最后一个单元格中(再次将其始终添加到其中)。

我们将非常感谢您的帮助,非常感谢

3 个答案:

答案 0 :(得分:1)

此代码可以做到这一点,您只需要让命令按钮运行此子程序即可:

Sub pasteLast()

Dim lrowG, lrowi As Integer

lrowG = Cells(Rows.Count, 7).End(xlUp).Row
lrowi = Cells(Rows.Count, 9).End(xlUp).Row

Cells(lrowi, 9).offset(1,0) = Range("s2") + Cells(lrowG, 7)

End Sub

请小心,因为每次您单击按钮时,它将为列I添加一个值,无论它是否唯一。

可以更好地处理
Sub Worksheet_Change

事件,无论何时更改S2,都会将其值添加到列I。

答案 1 :(得分:0)

听起来像您需要在G列中找到最后一个单元格引用,然后在I列中最后一个单元格引用之后移至1行,并将其作为G列中的单元格引用到S2。

这应该有效:

子addToI()

Dim gTarget As String

Range("G1").Select
Selection.End(xlDown).Select
gTarget = Selection.Address(ReferenceStyle:=xlR1C1)

Range("I1").Select
Selection.End(xlDown).Select
Selection.Offset(1, 0).Select

ActiveCell.FormulaR1C1 = "=" & gTarget & "+R2C19"

结束子

答案 2 :(得分:0)

感谢您的帮助,并且花了一些时间才使它起作用。 iv现在出现了一个稍微不同的问题,使用下面的代码可以使iv选择最后一行并突出显示,但是我只希望它突出显示a-h列(而不是整行),请问我该怎么做? >

将lngLastRowRim设置为长

'Range("A7").Select
'Range(Selection, Selection.End(xlDown)).Select

Range("A7").End(xlDown).Select

lngLastRow = ActiveCell.Row

'Rows("480:480").Select
Rows(lngLastRow).Select

Selection.Interior.Color = RGB(255, 0, 0)
Cells(lngLastRow, "a").Select