我正在尝试更改工作表名称,同时将所选日期增加一(1)年。
OCT是新会计年度(FY)的开始,我正在尝试相应地进行调整。例如OCT-17,NOV-17,DEC-17,JAN-18等。我正尝试更改为OCT-18,NOV-18,DEC-18,JAN-19,以便清除先前的数据并输入新的FY信息。
到目前为止,我已经能够调整工作表名称,但是我为能够“选择”要为新的FY调整的日期范围而绊脚石。我试图选择日期范围,并向每个日期添加一(1)年,以便引用准确的数据,因为该表引用了数据透视表作为其数据源。
Dim MyDate As String
Dim Cell as Range
MyDate=Format(DateSerial(Year(Date), Month(10), 1, "yy")
If FormMonth = "OCT" then
sheet1.name = "FY" & MYDate - 3
sheet1.range("B9:M9").select
For Each Cell in selection
cell.value = DateAdd("yyyy", 1, CDate(cell.value))
Next cell
End If
我有MyDate-3,可以更改工作表名称,因为我有单独的工作表,其中保存了前3年的FY数据。成功地将年份更改为我要提供的FY信息。
我的脚本不喜欢sheet1.range("B9:M9").select
。
答案 0 :(得分:2)
您需要将sheet1
设置为工作表:
mySheetName = "FY" & MYDate - 3
Set sheet1 = Worksheets(mySheetName)
也就是说,您确实想在代码中avoid using Activate/Select。像这样:
For Each Cell in sheet1.range("B9:M9")
cell.value = DateAdd("yyyy", 1, CDate(cell.value))
Next cell