excel vba 自动添加公式
例题:在D列自动添加公式“=数量*单价”公式为:cells(x,4).formula="=B"&x&"*C"&x显示的为:=B5*C5我想写年龄和工龄的代码该如何写成上面...
例题:在D列自动添加公式“=数量*单价” 公式为: cells(x,4).formula=" = B " & x & " *C " & x 显示的为: =B5*C5我想写年龄和工龄的代码该如何写成上面的格式? 年龄=DATEDIF(D3,TODAY(),"Y") 和 工龄=(YEAR(TODAY())-YEAR(D4))+1
展开
4个回答
2013-10-20
展开全部
Sub test()
Dim i As Integer
For i = 2 To Range("D65000").End(xlUp).Row
If Cells(i, 4) <> "" Then
Cells(i, 5) = "=DATEDIF(D" & i & ",TODAY(),""Y"")"
End If
Next i
End Sub
把原公式的3写成 "xxxx“ & i & "xxxxx",把公式中的"Y"写成""Y"",在VBA中""代表字符串中的"。
其实不用宏这么复杂的东东,用公式就可以了。在E2输入 =IF(D2="","",=DATEDIF(D2,TODAY(),"Y")),然后将公式向下复制就可以了。
Dim i As Integer
For i = 2 To Range("D65000").End(xlUp).Row
If Cells(i, 4) <> "" Then
Cells(i, 5) = "=DATEDIF(D" & i & ",TODAY(),""Y"")"
End If
Next i
End Sub
把原公式的3写成 "xxxx“ & i & "xxxxx",把公式中的"Y"写成""Y"",在VBA中""代表字符串中的"。
其实不用宏这么复杂的东东,用公式就可以了。在E2输入 =IF(D2="","",=DATEDIF(D2,TODAY(),"Y")),然后将公式向下复制就可以了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-10-20
展开全部
VBA所调用的函数与excel里的格式是不一样的。比如today() ,到VBA里引用则是DATE你要的代码如下:Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Range("A3") = Year(Date) - Year(Range("D3"))
End Sub
我这里假设A3为输出结果,D3为需要减去的单元格,年龄和工龄原里是一样的。range等同于 cells 效果。
Range("A3") = Year(Date) - Year(Range("D3"))
End Sub
我这里假设A3为输出结果,D3为需要减去的单元格,年龄和工龄原里是一样的。range等同于 cells 效果。
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-10-20
展开全部
别用vba了,公式可以自动复制。例如在D1中输入公式=A1+B1,把鼠标指向D1右下角,当鼠标变成十字形状时,按下左键往下拉,excel可以自动复制公式,并且自动变化里边的内容,例如D5单元格会自动变成A5+D5
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2013-10-20
展开全部
只有地址存在变量时才需要将公式拆开,如果地址固定不变,将公式直接写在Formula = "后面就是了。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询