Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > Программирование, связанное с MS Office > Как в textbox запихнуть формулу?


Автор: jazzzbe 24.8.2006, 16:12
У меня такой вопрос:
Может кто знает возможно ли на форме в textbox записать формулу, которая бы умножала значения в 2-х combobox и выводила в textbox?

Автор: Akina 24.8.2006, 16:23
нет 

Автор: ИгнатьевАлексей 24.8.2006, 17:12
jazzzbe, расскажи подробнее что ты делаешь и зачем тебе там ФОРМУЛА понадобилась?

Автор: Akina 24.8.2006, 18:14
Можно сделать так что по изменению содержимого комбобокса будет меняться содержимое текстбокса. Но в текстбоксе будет текст. Типа:

Код

' draft

Sub Combobox_Change
Textbox.Text = CStr( 2 * Val ( Combobox.Value ) )
End Sub

Автор: jazzzbe 31.8.2006, 21:34
Цитата(ИгнатьевАлексей @ 24.8.2006,  17:12)
jazzzbe, расскажи подробнее что ты делаешь и зачем тебе там ФОРМУЛА понадобилась?


У меня есть форма, которая формирует документ качественное удостоверение...на форме есть "количество канистр" (комбобокс) и "объем канистры"(комбобокс) и мне надо что бы в документ в графу "Общий вес товара" заносилось сумма этих 2-х комбобоксов...
Я думал создать на форме текстбокс и что бы в нем выводилась сумма,а потом из него перекидовалась в документ. Но говорят что так нельзя.
Теперь думаю просто прописать код, который бы добавлял в нужные ячейки формулу которая будет считать вышесказаное...но этот вариант не особо мне нравится, так как нижняя граница ячеек(конец диапазона) будет динамичной и будет зависить от количества номенклатуры товара.
Может кто посоветует другие варианты.
И кстате попутно...никто не знает есть ли такой элимент на форме который бы отображал календарь?

Автор: Staruha 31.8.2006, 22:16
http://forum.vingrad.ru/index.php?showtopic=99464&hl=%D0%9A%D0%B0%D0%BB%D0%B5%D0%BD%D0%B4%D0%B0%D1%80%D1%8C
А насчет формулы 
Код

textbox1.text=Combobox1*combobox2

 Почитай внимательнее ,что тебе посоветовали

Автор: jazzzbe 1.9.2006, 11:34
Staruha
Спасибо за инфу на счет календаря...
На счет второго, textbox1.text=Combobox1*combobox2 у меня не хочет работать, но я решил по другому сделать и возник вопрос по одной строчке кода :

Номер строки = Application.CountA(ActiveSheet.Columns(1)) + 1

With UserForm1
Товар = .ComboBox1
Дата = .DTPicker1
Клиент = .ComboBox2
Накладная = .TextBox3
Видтары = .ComboBox3
Дата1 = .DTPicker2
Количество1 = .TextBox4.Text
Вес = .ComboBox4
End With

With ActiveSheet
.Cells(Номер строки, 1).Value = Товар 
.Cells(Номер строки, 2).Value = Дата 
.Cells(Номер строки, 3).Value = Видтары 
.Cells(Номер строки, 4).Value = Количество1 
.Cells(Номер строки, 5).Value = Вес 
.Cells(Номер строки, 6).Formula = "=D11*E11"
.Cells(5, 2).Value = Клиент 
.Cells(6, 2).Value = Накладная 
.Cells(7, 2).Value = Дата1 
End With

Короче говоря, я на форме заполняю все вышеперечисленные поля по одному товару и нажав кнопку добавить они переносятся на лист Ексел.Потом по другому товару и т.д. в зависимости от количества номенклатуры...как мне сделать что бы  .Cells(Номер строки, 6).Formula = "=D11*E11" добавляля формулу Количество1*Вес...то что я сделал добавляет лдну и туже сумму, а именно D11*E11  

Автор: jazzzbe 1.9.2006, 12:36
Все допетрил...сделал таким образом :
.Cells(Номер строки, 6).Formula = (Cells(Номер строки, 4) * Cells(Номер строки, 5))
Так что всем спасибо за помощь!!!

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)