2017-02-01 202 views
0

我已經從Internet資源創建Excel 2013中的用戶窗體。當我按下Ctrl-m或雙擊單元格時,用戶表單會彈出縮放框,以便我可以輕鬆查看我的評論並鍵入新評論。運行時錯誤380:無法設置ControlSource屬性。 Excel中的userform的屬性值無效

在標題錯誤380在此行的代碼將出現運行時(參見下面的完整代碼):

Me.TextBox1.ControlSource = ActiveCell.Parent.Name & "!" & ActiveCell.Address 

(之前我包括用戶表單上的ListBox中,我會收到運行時錯誤424所需的對象在這同一行代碼)

我輸入: 我看了互聯網上的各種答案,但我不知道如何解決這個運行時錯誤380 b/C它出現在我添加列表框後,但它沒有引用列表框的代碼行。

編輯: 我應該列出列表框中的值?:

With ListBox1 
     .AddItem "8" 
     .AddItem "10" 
     .AddItem "12", etc. 
End With 

編輯完

如何完成後用戶窗體的外觀:

Pic of Zoombox user form after it is finished

代碼和設置:

  1. 該用戶窗體有一個TextBox1,其中註釋出現並且可以被編輯; ListBox1,列出用戶可以選擇在評論文本上使用的字體大小;和一個CommandButton1來顯示用戶表單。
  2. 我只改變了TextBox的屬性。 MultiLine是True,Word Wrap是True,ScrollBars是None。

我希望能幫助解決這個問題。

以下是完整的碼,這是位於用戶形式下:

Private Sub ListBox1_Click() 
Me.TextBox1.Font.Size = ListBox1.Value 
End Sub 

> '~~~~~~ 

Private Sub UserForm_Activate() 

Me.TextBox1.ControlSource = ActiveCell.Parent.Name & "!" & ActiveCell.Address 

Me.ListBox1.List = Array(8, 10, 12, 14, 16, 18, 20, 24) 

End Sub 

> '~~~~~~ 

Private Sub CommandButton1_Click() 
Unload ZoomForm 
End Sub 

這裏是命令按鈕下的代碼,這是在電子表格中的一個模塊1:

Sub ShowZoom() 
    ZoomForm.Show 
End Sub 

回答

0

回答:對於任何可能需要幫助的人來說,這都是答案。這是錯誤代碼行中的引號。

Me.TextBox2.ControlSource = "'" & ActiveCell.Parent.Name & "'!" & ActiveCell.Address 

的報價如下:(單引號=平方,雙引號= DQ - 中間無空格):

Me.TextBox2.ControlSource = (dq)(sq)(dq) & ActiveCell.Parent.Name & (dq)(sq)!(dq) & ActiveCell.Address 

我找到了答案在這裏:Forum used to help re: quotes

我不知道爲什麼使用此代碼的示例表單與代碼一起工作,就像我最初爲此行發佈的那樣,但它在我的工作簿中不起作用。我還更改了我的用戶窗體和控件的名稱(文本框,列表框等)。)到Textbox2,Listbox2,Commandbutton2和ZoomForm2,以防萬一它與工作簿中的任何代碼發生衝突,但我不確定是否有幫助。

這裏就是代碼和樣本的形式從,如果你想將其添加到您的電子表格來到現場:

ZoomForm Site

謝謝。