Добрый день! При заполнении таблицы в третий столбец вносится формула. Подскажите, пожалуйста, как сделать так, что бы носился результат расчета?
[vba]
Код
Sub wwww() Set ShReport = ThisWorkbook.Worksheets("Лист1") Set ReportListObj = ShReport.ListObjects("Таблица1") Set ReportListRow = ReportListObj.ListRows.Add
ReportListRow.Range(1) = UserForm1.TextBox1.Value ReportListRow.Range(2) = UserForm1.TextBox2.Value ReportListRow.Range(3) = "=[А]+[Б]" End Sub
[/vba]
Добрый день! При заполнении таблицы в третий столбец вносится формула. Подскажите, пожалуйста, как сделать так, что бы носился результат расчета?
[vba]
Код
Sub wwww() Set ShReport = ThisWorkbook.Worksheets("Лист1") Set ReportListObj = ShReport.ListObjects("Таблица1") Set ReportListRow = ReportListObj.ListRows.Add
ReportListRow.Range(1) = UserForm1.TextBox1.Value ReportListRow.Range(2) = UserForm1.TextBox2.Value ReportListRow.Range(3) = "=[А]+[Б]" End Sub
[/vba]. Я пока что понятия не имею как ее изобразить макросами (планирую изучать, но пока мне нужно что бы они просто работали), поэтому пока тупо вставляю формулы кодом.
Pelena, Спасибо, но, пример условный. Мне нужно узнать именно как вставить результат расчета. Просто у меня там такая [vba]
[/vba]. Я пока что понятия не имею как ее изобразить макросами (планирую изучать, но пока мне нужно что бы они просто работали), поэтому пока тупо вставляю формулы кодом.AVI
Сообщение отредактировал AVI - Понедельник, 20.08.2018, 07:44
[/vba] но после расчета (то есть расчет успешно проходит) вылезает ошибка Type Mismatch на указанную строку Я, так понимаю, что он рукается на формат данных в формуле?
and_evg, Во...
Странно, касательно примера. Код работает с [vba]
Код
ReportListRow.Range(3) = Evaluate([А] + [Б])
[/vba] но после расчета (то есть расчет успешно проходит) вылезает ошибка Type Mismatch на указанную строку Я, так понимаю, что он рукается на формат данных в формуле?AVI
Ее смысл в том, что пользователь вносит операции по мере необходимости, а формула определяет остатки тех или иных медикаментов на складе. То есть ищет последнее упоминание о данном медикаменте в стоЛбце "наименование"с дополнительными условиями и вовращает цифру из столбца 13.
Так как я чуть мненьше, чем совсем не разбираюсь в функциях в макросах, то я тупо формулы вставляю через код. Даже если Вы сейчас предложите какую-то альтернативу в данном конкретном случае, то у меня все равно куча где по такой схеме работает форма и я сам пока что все равно не разберуюсь. Поэтому и прошу помочь с тем, что бы в ячейку вливать просто результат расчета формулы.
_Boroda_, Формула в столбце L
Ее смысл в том, что пользователь вносит операции по мере необходимости, а формула определяет остатки тех или иных медикаментов на складе. То есть ищет последнее упоминание о данном медикаменте в стоЛбце "наименование"с дополнительными условиями и вовращает цифру из столбца 13.
Так как я чуть мненьше, чем совсем не разбираюсь в функциях в макросах, то я тупо формулы вставляю через код. Даже если Вы сейчас предложите какую-то альтернативу в данном конкретном случае, то у меня все равно куча где по такой схеме работает форма и я сам пока что все равно не разберуюсь. Поэтому и прошу помочь с тем, что бы в ячейку вливать просто результат расчета формулы.AVI
Тогда самый простой вариант - вставляете формулу, а потом в это же место вставляете значением результат расчета этой формулы [vba]
Код
Sub wwww() Set ShReport = ThisWorkbook.Worksheets("Лист1") Set ReportListObj = ShReport.ListObjects("Таблица1") Set ReportListRow = ReportListObj.ListRows.Add With ReportListRow .Range(1) = UserForm1.TextBox1.Value .Range(2) = UserForm1.TextBox2.Value .Range(3).Formula = "=[А]+[Б]" .Range(3) = .Range(3).Value End With End Sub
[/vba]
Тогда самый простой вариант - вставляете формулу, а потом в это же место вставляете значением результат расчета этой формулы [vba]
Код
Sub wwww() Set ShReport = ThisWorkbook.Worksheets("Лист1") Set ReportListObj = ShReport.ListObjects("Таблица1") Set ReportListRow = ReportListObj.ListRows.Add With ReportListRow .Range(1) = UserForm1.TextBox1.Value .Range(2) = UserForm1.TextBox2.Value .Range(3).Formula = "=[А]+[Б]" .Range(3) = .Range(3).Value End With End Sub