VBA自动根据两个单独行中的值填充

我无法find我的问题的答案,所以在这里。
我有一个包含订单ID和单位号码的表格。 订单ID有许多单位编号,我只对单位编号不等于零的订单编号感兴趣,即使它们的单位编号为零。
它看起来像这样:
Order ID Unit Number XD23 0 XD23 0 XD23 1 XD23 0 CF25 0 CF25 0 CF25 2 LQ29 0 LQ29 0 LQ29 0

并希望得到这样的输出:

 Order ID Unit Number XD23 1 XD23 1 XD23 1 XD23 1 CF25 1 CF25 1 CF25 1 LQ29 0 LQ29 0 LQ29 0 

因此,如果订单ID中的任何位置存在一个不同于0的单位,则订单ID的每一行都应具有值1。
我试图创build一个循环,如果条件,但我很新的VBA所以它不成功。
也许我需要一个解决scheme,检查前,当前和下一个订单ID来评估,如果他们不同,所以他们可以重新开始检查0和1。
非常感谢你!

编辑:我有的代码 – 我试图testing一个订单ID

 Sub Test1() Dim rngID As Range Dim rngUnit As Range Dim dblMax As Double Dim OrderID As OrderID Dim OrderID As New OrderID OrderID.ID = "CBR516038001" 'Set range from which to determine largest value Set rngID = Sheet1.Range("I2:I1000000") Set rngUnit = Sheet1.Range("AQ2:AQ1000000") 'Worksheet function MAX returns the largest value in a range For Each OrderID.ID In rngID.Rows dblMax = OrderID.Value Next For Each OrderID.ID In rngID.Rows rngUnit.Rows = dblMax Next End Sub 

尝试使用2个循环,第一个循环用于标识具有不同于零的单元编号的Order ID,并将此Order ID存储在数组中,如果Order ID在数组中,则第二个循环可更改Unit编号