我正在尝试管理公司的时间表,并且有一个小问题。我的数据按人均行排列,但是我希望它们采用列格式。当前,数据采用以下格式:
我希望它具有以下形状:
要遵循的规则:使用相同的名称(人)和相同的日期,获取“ OUT”时间值并将其放在下一行。请注意,有几千行。
非常欢迎提出问题 提前非常感谢!
答案 0 :(得分:0)
您可以改为使用Excel公式。
示例: -添加一列,其中包含日期和“ IN” /“ OUT”状态 -添加一列,该列使用第一步中的列作为查询来查找当前行日期的超时时间 -过滤,以便保留“ IN” /“ OUT”列,但删除“ OUT” /“ OUT”列 -如有必要,可在宏中自动执行上述操作。使用宏记录器可能是最简单的方法。然后,如果您愿意,可以手动整理VBA代码
答案 1 :(得分:0)
一种可能的解决方案是:
Option Explicit
Sub Insert()
Dim LastRow As Long, i As Long
With ThisWorkbook.Worksheets("Sheet1")
LastRow = .Cells(.Rows.Count, "D").End(xlUp).Row
For i = LastRow To 2 Step -1
If .Range("A" & i).Value = "" And .Range("D" & i).Value = "OUT" Then
.Range("D" & i - 1).Value = .Range("C" & i).Value
.Rows(i).EntireRow.Delete
End If
Next i
End With
End Sub