Страница: 1 |
Страница: 1 |
Вопрос: Вставить формулу. Excel
Добавлено: 27.09.04 02:02
Автор вопроса: Padre | Web-сайт:
есть небольшой скрипт на vba в excel. Одна из переменных является текстовой и имеет значение формулы Excel которую надо вставить в определённую ячейку.
но при вставке в ячейку выдаёт ошибку.
sheets(1).cells(1,1)=myvar
Ответы
Всего ответов: 3
Номер ответа: 1
Автор ответа:
ActiveX
Вопросов: 0
Ответов: 73
Профиль | | #1
Добавлено: 27.09.04 02:30
Sub OnError()
Dim myvar As String
myvar = Sheets(1).Cells(1, 5).Value
'если надо вставить значение формулы
myvar = Sheets(1).Cells(1, 5).Formula
'если надо вставить саму формулу
Sheets(1).Cells(1, 1) = myvar
End Sub
Проверено только что, работает.
Номер ответа: 2
Автор ответа:
mc-black
ICQ: 308-534-060
Вопросов: 20
Ответов: 1860
Web-сайт:
Профиль | | #2
Добавлено: 27.09.04 15:12
Dim myvar As String
myvar = "=SUMM(R2C:R6C)"
sheets(1).cells(1,1).FormulaR1C1=myvar
В VBA почти всегода удобнее формулы вносить в формате R1C1, если тебе очень надо вводить в привычном пользователю A1, то
Dim myvar As String
myvar = "=SUMM(A2:A6)"
sheets(1).cells(1,1).Formula=myvar
А вообще, текстовое представление функций Excel обычно не совпадает с русским представлением. Чтобы без ошибок использовать функции в виде строк, лучше записать макрос (режим записи), где идет ввод нужной формулы, а потом просмотреть код - что получилось.
Номер ответа: 3
Автор ответа:
ActiveX
Вопросов: 0
Ответов: 73
Профиль | | #3
Добавлено: 30.10.04 07:57
'Не забивай себе голову всякими записями макросов, а используй русский вариант имени функции
Dim myvar As String
myvar = Sheets(1).Cells(1, 5).FormulaLocal
'если формула находится в ячейке "A5"
Sheets(1).Cells(1, 1).FormulaLocal = myvar
myvar = "=СУММ(A2:A6)"
Sheets(1).Cells(1, 1).FormulaLocal = myvar
P.S. Интересно, кому проще вводить в стиле R1C1, за исключением автора предыдущего ответа ???