我在Excel中有一些数据,我必须在列中找到最大数字,以便我可以将其增加1。这些数字与001中的文字一样。我还必须考虑三个参考列来确定最大数量。VBA根据条件获得最大数量
这里是数据
A K L N <-These are the columns
Ref1 Ref2 Ref3 ID <-These are the headers
xxx I 17 001 <-Column N is also text
xxx I 17 002
yyy J 15 001
xxx I 17 005 <-The numbers might not be consecutive. Instead of 003 jumps to 005
基于基准XXX-I-17我必须找到下一个ID是006。注意,如以上所指示的参考并不总是连续的一个例子。
我在做什么,首先对数据进行筛选,如:
LastRow = ActiveSheet.Range("A1").Offset(ActiveSheet.Rows.Count - 1, 0).End(xlUp).Row
ActiveSheet.Range("A1:L" & lastRow).AutoFilter Field:=1, Criteria1:="xxx"
ActiveSheet.Range("A1:L" & lastRow).AutoFilter Field:=11, Criteria1:="I"
ActiveSheet.Range("A1:L" & lastRow).AutoFilter Field:=11, Criteria1:="17"
我不知道,如果过滤数据是最好的方法,但什么想不通的是如何找到最大列N中的值,以便我可以增加它。
任何想法?配方会更好吗?
使用worksheetfunction.Countifs你通过范围仅仰视迭代。 –
所以,除非你需要它,一个简单的COUNTIFS()函数将做你想做的事情。 –
把它放在N2中,并抄下来:'= TEXT(COUNTIFS($ A $ 1:A2,A2,$ K $ 1:K2,K2,$ L $ 1:L2,L2),“000”) –