在平均未指定的列范围时遇到问题

时间:2019-07-08 14:56:44

标签: excel vba average

我正在尝试对多列(不确定数量)中的所有行进行平均。我知道我可以编写一个代码来一次完成每一列,但是我希望找到一种缩短代码长度的方法。

到目前为止,我已经设法对一列(B)求平均,但是似乎无法对最后一列进行自动填充,后者可以更改长度。我也曾尝试做一个if语句,例如“如果上面的行中有一个值,然后取平均值”,但是我不太擅长使用VBA,所以不知道该怎么做。 我需要在下面的代码中对其中包含值的所有列进行相同的平均计算的帮助。我的值特别从第5行开始,然后下降到未指定的范围。

Dim rng1 As Range
Dim rng2 As Range
Dim myavg As Range

Set rng1 = Range("B5")
Set rng2 = Range("B5").End(xlDown)
Set myavg = Range("B5").End(xlDown).Offset(1, 0)

myavg = "=Average(" & rng1.Address & ":" & rng2.Address & ")"

1 个答案:

答案 0 :(得分:2)

您可以按以下方式使用SELECT [2017_JAN].* FROM [dbo].[2017_JAN] LEFT HASH JOIN [dbo].[2016_NOV] ON [2016_NOV].[ID] = [2017_JAN].[ID] LEFT HASH JOIN [dbo].[2016_DEC] ON [2016_DEC].[ID] = [2017_JAN].[ID] WHERE [2016_NOV].[ID] IS NULL and [2016_DEC].[ID] IS NULL

Do While