2016-02-22 117 views
0

我使用的是excel vba,我有一列数字序列,这些数字在序列开始时由单词限定,最后由空白单元格限定。 (即Kip 1 2 3 4 5“空白单元格”Kip 1 2 3 4 5 6 7 8“空白单元格”...)最大范围

我试图通过这样做获得每个数字序列的最大值,但它不工作。有人能帮我解决问题吗?

`

Sub Maxim() 

Dim rg1 As Range 

Dim rg2 As Range 

Dim i As Integer 

For i = 12 To 70000 

If (Cells(i, 5) = "kip") Then 
Set rg1 = Range(Cells(i + 1, 5)) 
End If 

If (Cells(i, 5) = "") Then 
Set rg2 = Range(Cells(i - 1, 5)) 
Cells(i, 7) = Max(rg1, rg2) 
End If 

Next i 
End Sub 

`

附:我是新的编码在VBA

谢谢

+1

是否必须是vba?它可以用公式完成。 –

+0

该公式也很好,但我认为它只能用于一个数字序列,我将不得不指定范围 – user5965221

+2

也可以发布截屏样本的数据?这将有助于我们在不需要太多试验和错误的情况下编写出好的公式或vba代码。 –

回答

0

我用下面的公式G1:

=IF(E1="Kip",MAX(INDEX($E1:$E$500,MATCH("Kip",$E1:$E$500,0)+1):INDEX($E2:$E$500,MATCH(TRUE,INDEX($E2:$E$500="",0),0)-2)),"") 

,并抄下来。

![enter image description here

+0

谢谢你的回答斯科特!我试图弄清楚如何上传我的数据的截图。但是,你所拥有的几乎是我在我的工作表上得到的,除了在同一列中与数字相同的单词kip。 这会修改你的公式吗? – user5965221

+0

@ user5965221请参阅编辑。 –

+0

非常感谢您的帮助 – user5965221

相关问题