Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Вставить формулу. Excel Добавлено: 27.09.04 02:02  

Автор вопроса:  Padre  | Web-сайт: localhost | ICQ: 346632205 
есть небольшой скрипт на 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-сайт: mc-black.narod.ru/dzp.htm
 Профиль | | #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, за исключением автора предыдущего ответа ???

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам