我在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」) –