我有大量的Excel工作表,每个工作表都有3个excel工作簿选项卡。在最后一个将有大量的数据,但一列将是一个日期列,下面有一堆不同的日期。日期格式为MM / DD / YYYY。我需要将每个日期提前4年。
我想我需要选择正确的工作簿,搜索特定的列,然后循环迭代该列下面的每个值来推进它,但是这一天本身需要保持不变。例如,如果是2017年5月10日,则需要是10/05/2021。任何建议或帮助都会很棒。先感谢您。
感谢您的帮助,我意识到我对我的问题一点都没有帮助。我对VB脚本非常陌生,并且通常都是excel宏。我还没有找到如何搜索列本身,因为无论列值是什么,我都希望找到列(可能会搜索一个表示" Date"通过整个表单的单元格? ,我只是想加入4年的开始,无法找到我需要的功能。这就是我从我得到的东西中得到的东西,看起来这是非常错的哈哈。
直到IsEmpty(ActiveCell)
Set ThisCell = ActiveCell
ThisCell = DateAdd("yyyy", 4, ColumnValueHere)
' Step down 1 row from present location.
ActiveCell.Offset(1, 0).Select
Loop
答案 0 :(得分:0)
您将需要DateAdd功能
尝试这样的事情:
Sub AddDates()
Dim lastRow as integer
Dim theSheetImWorkingOn as worksheet
Dim theColumnNumberForTheDates as integer
theColumnNumberForTheDates = 5 ' change this to be the column number you want
Set theSheetImWorkingOn = Sheets("Put your sheet name here")
lastRow = theSheetImWorkingOn.Cells(1000000, theColumnNumberForTheDates ).End(xlUp).row
For x = 2 to lastRow ' assuming your data starts on row 2
theSheetImWorkingOn.Cells(x, theColumnNumberForTheDates) = DateAdd("yyyy", 4, theSheetImWorkingOn.Cells(x, theColumnNumberForTheDates))
Next x
End Sub