Всем привет, помогите пожалуйста.
При выполнении макроса в ячейке а4 второго листа создается формула =@КЖосновной!A25:J25.
Почему добавилось "@" и как от него избавиться. ибо из-за @ ссылка идет только на 1 ячейку а не на всю строку
Sub ExtendCellAX()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim startRow As Long
Dim endRow As Long
Dim formulaStr As String
' Указываем лист, на котором нужно выполнить операции для ячейки A4
Set ws2 = ThisWorkbook.Sheets(1) ' Лист "КЖосновной"
' Указываем лист 2
Set ws1 = ThisWorkbook.Sheets("Лист2")
' Определяем начальную строку из ячейки K4 на листе КЖосновной
startRow = ws2.Range("K4").Value
' Определяем конечную строку из ячейки K5 на листе КЖосновной
endRow = ws2.Range("K5").Value
' Создаем строку для формулы
formulaStr = "='" & ws2.Name & "'!A" & startRow & ":J" & startRow
' Вставляем формулу в ячейку A4 на листе 2
ws1.Range("A4").Formula = formulaStr
' Протягиваем содержимое формулы до строки, указанной в ячейке K5 на листе КЖосновной
ws1.Range("A4").AutoFill Destination:=ws1.Range("A4:A" & endRow - startRow + 5)
End Sub
При выполнении макроса в ячейке а4 второго листа создается формула =@КЖосновной!A25:J25.
Почему добавилось "@" и как от него избавиться. ибо из-за @ ссылка идет только на 1 ячейку а не на всю строку
Sub ExtendCellAX()
Dim ws1 As Worksheet
Dim ws2 As Worksheet
Dim startRow As Long
Dim endRow As Long
Dim formulaStr As String
' Указываем лист, на котором нужно выполнить операции для ячейки A4
Set ws2 = ThisWorkbook.Sheets(1) ' Лист "КЖосновной"
' Указываем лист 2
Set ws1 = ThisWorkbook.Sheets("Лист2")
' Определяем начальную строку из ячейки K4 на листе КЖосновной
startRow = ws2.Range("K4").Value
' Определяем конечную строку из ячейки K5 на листе КЖосновной
endRow = ws2.Range("K5").Value
' Создаем строку для формулы
formulaStr = "='" & ws2.Name & "'!A" & startRow & ":J" & startRow
' Вставляем формулу в ячейку A4 на листе 2
ws1.Range("A4").Formula = formulaStr
' Протягиваем содержимое формулы до строки, указанной в ячейке K5 на листе КЖосновной
ws1.Range("A4").AutoFill Destination:=ws1.Range("A4:A" & endRow - startRow + 5)
End Sub
Изменено: - 14.02.2024 11:06:28