На активной пользовательской форме выполняют функцию и отображают значение функции в качестве заголовка - PullRequest
0 голосов
/ 07 июня 2018

Справочная информация:

Я работаю над пользовательской формой, чтобы выполнить несколько вычислений, чтобы я мог заблокировать формулы в модуле (намеренно не используя защитный лист и делая это в электронной таблице),Я перечислил метку в соответствующем месте и собираюсь использовать userform.Show vbModeless, чтобы я мог получить функции для отображения информации, записанной в текстовых полях.


Проблема:

При попытке компиляции я получаю ошибку времени выполнения 13: Несоответствие типов в моей функции при попытке получить значение TextBox (строка в коде с a = calcs.Controls ("TextBox11"). Значение ).


Вопрос:

Я не вижу, что не соответствует, так как я звонюэлементы управления косвенно, используя элементы управления ("").Кто-нибудь видел, где у меня может быть F?

Кроме того, это pipedream для обновления функции пользовательской формы при вводе значений в текстовые поля той же пользовательской формы?


Код в вопросе:

Имя моей пользовательской формы: calcs .

Option Explicit

Private Sub button_show()
    calcs.Show vbModeless
    calcs.Controls("Label95").Caption = calc1() 
End Sub

Private Function calc1() As Double
    Dim a As Double, b As Double, c As Double, d As Double, e As Double
    a = calcs.Controls("TextBox11").Value 'FLAG
    b = calcs.Controls("TextBox1").Value
    c = calcs.Controls("TextBox2").Value
    d = calcs.Controls("TextBox3").Value
    e = calcs.Controls("TextBox4").Value 
    calc1 = (a * b * d * 1000) / (1000 * c * e * 1)
End Function
...