我正在尝试在Excel 2013上创建一个内部数据库,用于管理人员,基于人力资源。
例如,50人可能会申请工作,但只有15人可以被邀请参加面试。
我想要的是某种自动化,这意味着如果我点击候选人信息行旁边的按钮(可能会说“邀请访谈”),那么它会自动将该候选人的数据行复制到下一个可用时间下一张纸上的插槽。时间段将在A列中预先填充,但其余列将为空白。
希望有人可以提供帮助 - 我必须承认我对宏等只有基本的了解,但我是一个快速学习者。
谢谢大家。
答案 0 :(得分:1)
基本上你可以做这样的事情。我假设你有2张如下:
表"申请人":
表"时间段":
Dim A_List As Worksheet
Dim T_List As Worksheet
Dim A_LastRow As Long
Dim T_LastRow As Long
Set A_List = Sheets("Applicants")
Set T_List = Sheets("Time Slot")
A_LastRow = A_List.Range("A" & Rows.Count).End(xlUp).Row
T_LastRow = T_List.Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To A_LastRow
If A_List.Range("B" & i).Value = "Yes, Call Him" Then
If A_List.Range("C" & i).Value <> "Yes" Then
t = 1
While t <= T_LastRow
If T_List.Range("B" & t).Value = "" Then
A_List.Range("A" & i).Copy Destination:=T_List.Range("B" & t)
A_List.Range("C" & i).Value = "Yes"
t = T_LastRow + 1
End If
t = t + 1
Wend
End If
End If
Next
因此,您的工作表将如下所示:
表&#34;申请人&#34;:
Sheet&#34; Time Slot&#34;:
警告:此编码没有任何错误证明。您可能希望在IF
函数中添加一些警告ELSE