[英]excel: gets date and add one day
我有一個帶有名稱和一些日期的簡單電子表格。
我想發生的是,如果滿足某些條件,我將獲得第一張紙的結束日期(H列)並將其復制到我的第二張紙(G列),然后再增加一天。
這是第一張表,稱為BASE_TOTAL
。
這是第二個,稱為APOIOS
。
“ sss”代表我要輸入日期和一天的日期。
到目前為止,這是我嘗試過的:
Sub Apoios()
Dim i As Long
Dim j As Long
Dim lastrow As Long
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim ws3 As Worksheet
Dim res
Set ws1 = Sheets("Plan3")
Set ws2 = Sheets("BASE_TOTAL")
Set ws3 = Sheets("APOIOS")
lastrow = ws2.Range("A" & Rows.Count).End(xlUp).Row
For i = 2 To lastrow
For j = 1 To 11
Select Case True
Case IsEmpty(ws2.Cells(i, j)):
ws3.Cells(i, j) = ""
Case Not IsEmpty(ws2.Cells(i, j)):
If ws1.Cells(4, 3) <= ws2.Cells(i, 8) And ws2.Cells(i, 5).Value <> "APOIO" Then
ws3.Cells(i, 1).Value = ws2.Cells(i, 1)
ws3.Cells(i, 2).Value = ws2.Cells(i, 2)
ws3.Cells(i, 3).Value = ws2.Cells(i, 3)
ws3.Cells(i, 4).Value = ws2.Cells(i, 4)
ws3.Cells(i, 5).Value = "APOIO"
ws3.Cells(i, 6).Value = "-"
ws3.Cells(i, 7).Value = ws2.Cells(i, 8).Value + 1
ws3.Cells(i, 8).Value = "-------------"
ws3.Cells(i, 9).Value = ws2.Cells(i, 9)
ws3.Cells(i, 10).Value = ws2.Cells(i, 10)
ws3.Cells(i, 11).Value = ws2.Cells(i, 11)
End If
End Select
Next j
Next i
End Sub
如您所見,我嘗試使用以下代碼行做到這一點:
ws3.Cells(i, 7).Value = ws3.Cells(i, 8).Value + 1
但這沒有解決。 我對VBA有點陌生,所以我不知道應該使用哪個功能來了解我想要該單元格上的日期並再增加一天。
我知道存在DateSerial
函數,但是我不知道如何在此示例中應用它。 我也找到了這個答案,我會檢查是否可行。 雖然我的日期是dd/mm/yyyy
格式。
任何建議都會有所幫助。
您是否嘗試過DateAdd函數? 喜歡
ws3.Cells(i, 7).Value = DateAdd("d", 1, ws2.Cells(i, 8).Value)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.