我有一個電子表格,我們的組織需要每週爲工作人員提交疾病信息。該電子表格每年的每個星期都有一個選項卡,我已經有一個宏將一週的員工細節複製到下一個。Excel VBA試圖將單元格值設置爲另一個單元格的日期
我正試圖在下面的代碼中建立工作人員,他們仍在請病假,並將病假期的開始日期複製到下一週。該代碼通過在循環中以字符串形式提取員工編號,然後爲開始日期創建一個對象。
由於模板上的佈局和其他信息,我無法簡單地將整個工作表從一週複製並粘貼到下一個工作日。
低於現在的副本修訂 修改後的代碼第一SicknessStart
日期NextWeek
。但是,它只能在第一個日期工作,並且不會因某些原因而複製後續行中的信息。日期格式也以美國格式複製,但我正在研究。
Sub CopyDate
Dim I As Integer, CopyDate As Boolean
I = 6
CopyDate = False
'Use the Employee Number column (C) to perform the check on the sickness dates
Do While CurrentWeek.Cells(I, 3) <> ""
'Check if there is a sickness start date in column R
If CurrentWeek.Cells(I, 18) <> "" Then
'Check if they have entered 'Still Away' or left the cell blank in column S
If CurrentWeek.Cells(I, 19) = "Still Away" Or CurrentWeek.Cells(I, 19) = "" Then
Dim EmployeeNumber As String
Dim SicknessStart As String
EmployeeNumber = Cells(I, 3)
SicknessStart = Cells(I, 18)
NextWeek.Select
'Find the employee number string on the following week's tab and enter sickness start date
Columns(3).Find(What:=EmployeeNumber, LookIn:=xlValues, LookAt:= _
xlWhole, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:=False _
, SearchFormat:=False).Offset(0, 15) = SicknessStart
End If
End If
I = I + 1
Loop
CopySickness = True
End Sub
你試圖僅僅複製值和格式化單元之後,還是根本不? – Vogel612
得到更好的幫助: 1)你不會告訴我們什麼是錯的 2)沒有這樣的事情作爲「日期對象」 –
@ Vogel612我試圖複製單元格並粘貼它,但沒有' t似乎目前正在工作,但仍會繼續嘗試使用該方法。 @iDevlop在'CurrentWeek'上如果我的日期爲01/01/13作爲'StartDate',它不會將這個日期跨越到'NextWeek'上,而是默認爲01/00/1900。我沒有正確地標題,我的意思是日期設置爲'StartDate as Date'而不是String或任何其他變量。 – Asim