2013-07-02 113 views
2

我的工作簿有兩張紙,其中一張包含數據和計算結果,這些數據都使用名稱編輯器功能命名。第二張工作表有一個圖形和一個由使用VBA控件Active X選項創建的一組文本框組成的框,這組文本框將被輸入先前稱爲abbove的值,下面是我所用代碼的一個版本,其中標籤和文本框是文本框的名稱,其他名稱是定義的單元格的名稱。 此代碼報告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'正確嗎?您的其他'Label'參考號碼有數字。 –

+0

在標籤1和所有下面的行我得到相同的錯誤438,不知道如何解決它 – user2453446

回答

1

嘗試ActiveSheet.TextBox1.Text = sWname