簡體   English   中英

使用VBA Excel的日期更改在兩個不同的單元格中添加/減去

[英]Date Change with VBA Excel add/subtract in two different cells

如何創建一個宏,在一個單元格中添加一天,同時在另一個單元格中減去一天? 這是我到目前為止所擁有的。

Sub ChangeDates()

Dim cell As Range

For Each cell In Range("B:B")
    cell.Value = cell.Value + 1
Next cell

For Each cell In Range("C:C")

    cell.Value = cell.Value - 1

End Sub

我知道你已經接受了答案,但我想提供這種方法,它比循環遍歷所有這些單元更快更有效。

如果您的日期在A列中,則B列將保持date +1而C列將保持date -1

Option Explicit
Sub ChangeDates()

Dim myRange As range
Dim mySheet As Worksheet

Set mySheet = Sheets("Sheet7") 'change to your sheet

With mySheet

    Set myRange = .range("A1:A" & .range("A" & .Rows.Count).End(xlUp).Row)

    myRange.Offset(, 1).FormulaR1C1 = "=RC[-1]+1"
    myRange.Offset(, 2).FormulaR1C1 = "=RC[-2]-1"

End With


End Sub

抵消救援!!

Sub ChangeDates()  
Dim cell As Range  
   For Each cell In Range("B:B")     
      cell.Value = cell.Value + 1
      cell.offset(0,1).value = cell.offset(0,1).value - 1
   Next cell  
End Sub 

您可以考慮的另一件事是查看usedrange以不必遍歷所有列B或進​​行檢查以確保單元格不是空白...只是更快,更好的編碼並阻止您在其中具有錯誤的值細胞原本是空白的......

Sub ChangeDates()
Dim cell As Range
   For Each cell In Intersect(Range("B:B"), ActiveSheet.UsedRange)
      cell.Value = cell.Value + 1
      cell.Offset(0, 1).Value = cell.Offset(0, 1).Value - 1
   Next cell
End Sub

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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