Excel VBA Макросы: Как сделать одну ссылку на ячейку для нескольких листов?

Автор niksamoyloff, 02 августа 2019, 01:25

niksamoyloff

Я пробегаю по строкам в одном документе и сравниваю их со строками в другом документе.
Подскажите как исправить.

Dim vacFor As Range

If Trim(Cells(i, 6).Value) = "Отпуск ежегодный по календарным дням" Then
    Set vacFor = Cells(c.Row, "CH")
ElseIf Trim(Cells(i, 6).Value) = "Отпуск доп. за ненормир. раб день" Then
   Set vacFor = Cells(c.Row, "CI")
ElseIf Trim(Cells(i, 6).Value) = "Отпуск доп. за сменный режим работы" Then
   Set vacFor = Cells(c.Row, "CK")
End If

Далее, после выбора ячейки, которую я присвоил vacFor, необходимо записывать в нее значение (причем на разные листы), я это пытаюсь делать так:

abook.Sheets("ШР 2 кв").Activate
vacFor.Value = vacFor.Value + DateDiff("d", startVacDate.Value, "30.06." & Year(Date)) + 1
abook.Sheets("ШР 3 кв").Activate
vacFor.Value = vacFor.Value + DateDiff("d", "30.06." & Year(Date), endVacDate.Value)

но не получается. Если же явно сказать куда писать, то всё записывается:

abook.Sheets("ШР 2 кв").Activate
Cells(c.Row, "CH").Value = Cells(c.Row, "CH").Value + DateDiff("d", startVacDate.Value, "30.06." & Year(Date)) + 1
abook.Sheets("ШР 3 кв").Activate
Cells(c.Row, "CH").Value = Cells(c.Row, "CH").Value + DateDiff("d", "30.06." & Year(Date), endVacDate.Value)

Администратор

Так нельзя сделать.
Ссылка назначается конкретной ячейке или диапазону ячеек и так и остаётся для указанной ячейки или диапазона ячеек, а не изменяется при смене активного листа.