每个日期我都有多个工作簿。Workbook_20230505,格式如下:
| 时间|工作人员| Staff |
| --|--| ------------ |
| 上午9:00:35|系统| SYSTEM |
| 5:32:05 AM|系统| SYSTEM |
| 时间:4:15:35| ALEX| ALEX |
| 10:00 - 12:00|克莱尔| CLARE |
| 时间:2018 - 02 - 18|约翰| JOHN |
| 3:23:10 AM|桑迪| SANDY |
| 时间:2019 - 04 - 09|曼达| MANDA |
| 时间:2019年10月15日上午7时15分23秒|无效| VOID |
| 时间:2019 - 06 - 15| ALEX| ALEX |
| 3:46:15 AM| KEN| KEN |
| 2017年12月18日上午7:08:23| KEAT| KEAT |
我能够使用公式=MAXIFS(B3:B13, C3:C13, "<>SYSTEM", C3:C13, "<>VOID")
获得给定标准的最新时间
我如何编译的结果在一个主文件如下?
| 最新时间| Latest Time |
| --| ------------ |
| ||
| ||
| ||
我尝试使用下面的,但似乎很难使其动态:
ActiveSheet.Range("B2").Select
ActiveCell.FormulaR1C1 = _
"=MAXIFS([Workbook_20230505.xlsx]Sheet1!R3C2:R13C2,[Workbook_20230505.xlsx]Sheet1!R3C4:R13C4,""<>SYSTEM"",[Workbook_20230505.xlsx]Sheet1!R3C4:R13C4,""<>VOID"")"
字符串
我也在尝试下面的东西,但是,我得到了错误:
strPath = "C:\Users\...\Workbook_20230505.xlsx"
Set wb = Workbooks.Open(strPath)
Set ws = wb.Worksheets("Sheet1")
Set sheet = ActiveSheet
Set rng1 = ws.Range("B3:B13")
Set rng2 = ws.Range("C3:C13")
sheet.Range("B2").Select
'ActiveCell.FormulaR1C1 = _
'"=MAXIFS(rng1, rng2, "<>SYStem", rng2, "<>VOID")"
型
最后,我想使用for循环来获得每个日期的结果。
感谢帮助!
1条答案
按热度按时间0vvn1miw1#
不使用
WorksheetFunction.MaxIfs
,您可以使用For
循环获得所需的结果。字符串
的数据