2

这是我的代码:

Dim N As Single
N = ActiveCell.Offset(0, 0).Value
E = 1 - N

ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell.FormulaR1C1 = "=-SUM(R[E]C:R[-1]C)"
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell.FormulaR1C1 = "=-SUM(R[E]C:R[-1]C)"
ActiveCell.Offset(0, 1).Range("A1").Select
ActiveCell.FormulaR1C1 = "=-SUM(R[E]C:R[-1]C)"
ActiveCell.Offset(1, 0).Range("A1").Select

我希望宏用户选择一个具有值的单元格(示例 5),因为它将是第 5 行值的插槽。我希望程序找到它之前的所有值的负总和(1、2、3 和 4)。

4

2 回答 2

0

我可以建议以下作为避免使用 SELECT 的替代方法吗?

Sub SampleWithoutSelect()
Dim N As Single
N = ActiveCell.Offset(0, 0).Value
E = 1 - N

for iIndx=0 to -3 step -1
    range(activecell.offset(iindx,0).formular1c1="=-SUM(R[" & E & "]C:R[-1]C)"
next

End Sub

这是你想要的 - 还是我错过了什么?

于 2013-04-04T11:32:58.430 回答
0

虽然我不赞成.Select。看到这个

但这是你正在尝试的吗?E是一个变量。在双引号内它表现为一个字符串:)

Sub Sample()
    Dim N As Single
    N = ActiveCell.Offset(0, 0).Value
    E = 1 - N

    ActiveCell.Offset(0, 1).Range("A1").Select
    ActiveCell.FormulaR1C1 = "=-SUM(R[" & E & "]C:R[-1]C)"
    ActiveCell.Offset(0, 1).Range("A1").Select
    ActiveCell.FormulaR1C1 = "=-SUM(R[" & E & "]C:R[-1]C)"
    ActiveCell.Offset(0, 1).Range("A1").Select
    ActiveCell.FormulaR1C1 = "=-SUM(R[" & E & "]C:R[-1]C)"
    ActiveCell.Offset(1, 0).Range("A1").Select
End Sub
于 2013-04-03T20:49:49.337 回答