簡體   English   中英

excel:獲取日期並添加一天

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM