选择单元格范围

时间:2018-11-16 15:42:31

标签: excel vba

我正在尝试更改工作表名称,同时将所选日期增加一(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

1 个答案:

答案 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