美好的一天,
我正在尝试编写一个宏,如果代理的名称和日期匹配,它将从工作表auxdata的C列中提取信息。问题在于报告的编制方式可能会有一天的不匹配(即统一页面上的记录,如5/1/2014 | x | AGENT X实际上可能对应于2014年5月2日的记录在auxdata表上)。我有以下代码:
Sub testloop()
Dim unified As Worksheet
Dim auxdata As Worksheet
Set unified = ThisWorkbook.Sheets("unified")
Set auxdata = ThisWorkbook.Sheets("auxdata")
unified.Activate
unified.Range("a2").Select
Do While ActiveCell.Value <> Empty
If ActiveCell.Value = "auxdata[Date]" Then
ActiveCell.Offset(0, 3).FormulaR1C1 = _
"=INDEX(auxdata[Staffed Time], MATCH([@agent], auxdata[Agent], 0))"
Else
ActiveCell.Offset(0, 3).Value = "false"
ActiveCell.Offset(1, 0).Select
End If
Loop
End Sub
此循环仅转到Else语句。 Activecell.value =统一工作表中的日期
我需要关于If-then语句的帮助以及如何在else statemnet中的auxdata [Date]中添加1天
答案 0 :(得分:1)
您已在以下行中键入字符串文字:
If ActiveCell.Value = "auxdata[Date]" Then
这是检查字符串“auxdata [Date]”而不是您要表示的日期。您希望它与实际日期匹配。如果数据位于一个固定单元格中,则可以使用以下内容:
If ActiveCell.Value = auxData.Range("A2").Value Then
希望这有帮助!