当在工作表的另一列(同一行)中选择状态时,我需要在某个范围内获取一个单元格以进行硬编码。目的是让我可以衡量新招聘候选人在招聘过程的每个步骤(或状态)中的停留时间。
我尝试编写代码以在工作簿打开后启动宏(module1),然后在使用 worksheet_change 事件(sheet1)更新列 J 中的状态后循环遍历指定的单元格范围(AC3:AQ5000) . 一旦列 J 更新为与每列匹配的状态,AC 到 AQ 列都有一个公式来确定单元格的日期(=IF($J5=AC$1,IF(AC5<>"",AC5,TODAY()),""))
。循环参考已关闭。
Private Sub Worksheet_change(ByVal Target As Range)
Dim Target As Range
Dim MyCell As Range
Set Target = Sheet1.Range("ac3:aq5000")
For Each MyCell In Target
If MyCell.Value > "" Then
MyCell.Copy
MyCell.PasteSpecial Paste:=x1pasteformats
End If
Next MyCell
End Sub
一旦单元格从空白更改为(今天的)日期,我希望每列都对日期进行硬编码。到目前为止,我收到“检测到工作表更改的名称不明确”、“编译错误预期标识符”的错误,或者没有任何反应。