Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/sorting/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA:匹配索引函数_Excel_Vba - Fatal编程技术网

Excel VBA:匹配索引函数

Excel VBA:匹配索引函数,excel,vba,Excel,Vba,我不能给你我使用的Excel文件,因为它有很多机密信息,但我会尽力以最好的方式总结这个问题 我有一个文件a,里面有一个公司的员工名单,他们的开始日期,成本中心。。。该文件每天都会发送,其中包含我需要的更多信息 我有一个文件B,我们用它来处理它,并记录所有更改(如开始日期)和所有完成的操作 我设法得到一个代码,该代码正在使用新名称更新文件,而不删除其余部分。我现在正在寻找一种解决方案,它可以帮助我找出开始日期是否更改,新的开始日期是什么,并在开始日期更改的文件中创建注释 一个简单的Vlookup不

我不能给你我使用的Excel文件,因为它有很多机密信息,但我会尽力以最好的方式总结这个问题

我有一个文件a,里面有一个公司的员工名单,他们的开始日期,成本中心。。。该文件每天都会发送,其中包含我需要的更多信息

我有一个文件B,我们用它来处理它,并记录所有更改(如开始日期)和所有完成的操作

我设法得到一个代码,该代码正在使用新名称更新文件,而不删除其余部分。我现在正在寻找一种解决方案,它可以帮助我找出开始日期是否更改,新的开始日期是什么,并在开始日期更改的文件中创建注释

一个简单的Vlookup不会削减它,因为开始日期早于名称。所以我编写了match&index函数,最后用这个怪物公式作为注释。。。我知道这不太好,尤其是因为我不知道如何让那部分([ABC.xls]Report'!R360C1:R440C10)实际引用我之前定义的范围,但它现在可以完成这项工作

但是现在,我完全不知道如何在工作文件中获得新的开始日期。你能给我你的意见吗

这是我做的代码的一部分

nR2 = Firstemptyrow()
Range("Y2").Select
ActiveCell.FormulaR1C1 = _
    "=IF(INDEX('[ABC.xls]Report'!R360C1:R440C10,MATCH(RC[-23],'[ABC.xls]Report'!R360C2:R440C2,0),1)<>RC[-24],CONCAT(""WARNING, new start date is"", TEXT(INDEX('[ABC.xls]Report'!R360C1:R440C10,MATCH(RC[-23],'[ABC.xls]Report'!R360C2:R440C2,0),1),""jj/mm/a" & _
    "a""), "". Was changed from "", TEXT(RC[-24],""jj/mm/aa""),"" on "", TEXT(TODAY(),""jj/mm/aa"")),"""")" & _
    ""
Selection.AutoFill Destination:=Range(Cells(2, 25), Cells(nR2 - 1, 25)), Type:=xlFillDefault
Range("Y:Y").Select
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
    :=False, Transpose:=False
nR2=Firstemptyrow()
范围(“Y2”)。选择
ActiveCell.FormulaR1C1=_
“=如果(索引(“[ABC.xls]报告”!R360C1:R440C10,匹配(RC[-23],“[ABC.xls]报告”!R360C2:R440C2,0),1)RC[-24],CONCAT(“[ABC.xls]报告”!R360C1:R440C10,匹配(RC[-23],“[ABC.xls]报告”!R360C2:R440C2,0),1),“jj/mm/a”和_
"a","已由"文本(RC[-24),"jj/mm/aa","on","文本(今日),"jj/mm/aa","及_
""
Selection.AutoFill Destination:=范围(单元格(2,25),单元格(nR2-1,25)),类型:=xlFillDefault
范围(“Y:Y”)。选择
选择,复制
Selection.Paste特殊粘贴:=xlPasteValues,操作:=xlNone,SkipBlank_
:=假,转置:=假

循环通过Y列,如果
,则使
工作簿B中的
日期等于
工作簿ABC中的
日期。循环通过Y列,如果
,则使
工作簿B中的
日期等于
工作簿ABC中的
日期。