2013-07-02 5 views
2

В моей книге есть два листа, один из которых содержит данные и вычисления, эти данные были названы с помощью функции редактора имен. на втором листе есть граф и поле, состоящее из группы текстовых полей, созданных с помощью опции Active X VBA, эта группа текстовых полей должна быть вменена в значения, ранее названные abbove, ниже - версия кода, который я использовал, где label и TextBox являются именами текстовых полей, а другие - именами определенных ячеек. Этот код сообщает об ошибке сообщения 438 и не вводит помеченные данные в поле в нужном месте. Как я могу заставить его работать так, чтобы текстовые поля будут отображать названные клетки они связаны слишком ?:динамический ввод текстового поля в VBA

Private Sub Worksheet_Activate() 
Dim sType As String 
Dim sUnit As String 
Dim sWellname As String 
Dim sDate As String 
Dim sMD As String 
Dim sTVD As String 
Dim sMud As String 
Dim sPressure As String 
Dim sEMW As String 

    sType = ThisWorkbook.Worksheets("sheet1").cbztest.Value 
    sUnit = ThisWorkbook.Worksheets("sheet1").cbzPressure.Value 
    sWname = ThisWorkbook.Worksheets("sheet1").Range("Wname").Value 
    sDate = ThisWorkbook.Worksheets("sheet1").Range("date").Value 
    sMD = Format(ThisWorkbook.Worksheets("sheet1").Range("MD").Value, "Standard") 
    sTVD = Format(ThisWorkbook.Worksheets("sheet1").Range("TVD").Value, "Standard") 
    sMW = ThisWorkbook.Worksheets("sheet1").Range("M_W").Value 
    sPressure = Round(ThisWorkbook.Worksheets("sheet1").Range("P_bar").Value, 1) 
    sEMW = Format(ThisWorkbook.Worksheets("sheet1").Range("EMW").Value, "Standard") 

    sType = ThisWorkbook.Worksheets("sheet1").cbztest.Value 
    ActiveSheet("Label").Caption = sType 
    ActiveSheet("TextBox1").Text = sWname 
    ActiveSheet("TextBox2").Text = sDate 
    ActiveSheet("TextBox5").Text = sMD 
    ActiveSheet("TextBox6").Text = sTVD 
    ActiveSheet("TextBox7").Text = sMW 
    ActiveSheet("TextBox8").Text = sPressure 
    ActiveSheet("TextBox9").Text = sEMW 
    ActiveSheet("Label8").Caption = sType & " EMW :" 
    ActiveSheet("Label13").Caption = sUnit 

End Sub 
+0

Где происходит ошибка? Пробовали ли вы контрольные точки/шаги через код и т. Д.? –

+0

Является ли это 'ActiveSheet (" Label "). Caption = sType' правильный? В ваших других ссылках на «Ярлык» есть номера. –

+0

в Label 1 и все строки ниже, я получаю ту же ошибку 438 и не знаю, как ее решить – user2453446

ответ

1

Попробуйте ActiveSheet.TextBox1.Text = sWname и так далее

Смежные вопросы