Выбор диапазона ячеек - PullRequest
0 голосов
/ 16 ноября 2018

Я пытаюсь изменить имена листов при увеличении выбранных дат на один (1) год.

OCT - это начало нового финансового года (FY), и я пытаюсь изменить его соответствующим образом.Например, OCT-17, NOV-17, DEC-17, JAN-18 и т. Д. Я пытаюсь перейти на OCT-18, NOV-18, DEC-18, JAN-19, чтобы очистить предыдущие данные и ввестиновая информация о финансовом году.

До сих пор мне удавалось корректировать названия листов, однако я спотыкаюсь о возможности «выбрать» диапазон дат, которые я пытаюсь настроить для нового финансового года.Я пытаюсь выбрать диапазон дат и добавить один (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 года.Это успешно меняет год на информацию о финансовом положении, которую я хотел бы представить.

Мой сценарий не нравится sheet1.range("B9:M9").select.

1 Ответ

0 голосов
/ 16 ноября 2018

Вам необходимо установить sheet1 для рабочего листа:

mySheetName = "FY" & MYDate - 3
Set sheet1 = Worksheets(mySheetName)

Тем не менее, вы действительно хотите избегать использования Activate / Select в своем коде. Что-то вроде:

For Each Cell in sheet1.range("B9:M9")
    cell.value = DateAdd("yyyy", 1, CDate(cell.value))
Next cell
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...