发布网友 发布时间:2024-10-20 23:11
共2个回答
热心网友 时间:2024-11-08 19:52
请执行本代码之前保存你的文件,然后执行本代码,如果你发现执行后结果不正确,请关闭文件,不要保存即可。追答只要算出选择位置的代码,也是和这个差不多,可能更复杂一些。因为要判断你选择的位置是否适合放置公式。还要那个代码吗?稍等先给你注解一点上次的代码:
On Error GoTo Ex '出错时就跳到末尾Ex
Dim rng As Range, rn As Range, r% '声明变量
Set rng = Columns("C:C").SpecialCells(xlCellTypeConstants, 1) '定位c列的数值区域,当然如果c列不含有数值,这一句会报错。所以要提前写出错误处理语句
For Each rn In rng.Areas '在选定的数值区域的每个子区域循环
r = rn.Rows.Count '测试子区域的行数
If r > 1 Then '如果行数大于1就。。。
rn.Offset(r - 1, 1).Resize(1) = "=SUM(R[-" & r - 1 & "]C:R[-1]C)/SUM(R[-" & r - 1 & "]C[-1]:R[-1]C[-1])*RC[-1]" '写入公式
End If
Next
Ex: '设置的标签位置
下面是只填充选择位置的公式:
Sub 活动单元格填入公式()
Dim r As Range, n&
Set r = ActiveCell
If r.Row 4 Or r.Offset(-1) = "" Or r.Offset(, -1) = "" Or r.Offset(-1, -1) = "" Or r.Offset(1) "" Or r.Offset(1, -1) "" Then Exit Sub
n = r.Row - r.Offset(, -1).End(xlUp).Row
r = "=SUM(R[-" & n & "]C:R[-1]C)/SUM(R[-" & n & "]C[-1]:R[-1]C[-1])*RC[-1]"
End Sub
热心网友 时间:2024-11-08 19:53
sub aaa()