运行时错误380:无法设置ControlSource属性。 Excel中userform的属性值无效

时间:2017-02-01 03:19:48

标签: textbox listbox zoom excel-2013 userform

我已经从互联网资源在Excel 2013中创建了一个用户窗体。当我按下Ctrl-m或双击单元格时,用户表单将弹出缩放框,我可以在其中轻松查看我的评论并键入新评论。

标题中的运行时错误380出现在这行代码中(完整代码见下文):

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

(在我在用户表单中包含ListBox之前,我会在同一行代码中收到运行时错误424 Object Required。)

我的输入: 我已经在互联网上查看了各种答案,但我不明白如何解决这个运行时错误380 b / c它在我添加列表框后出现,但它没有引用列表框的代码行。

修改 我应该将列表框中的值列为?:

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

结束编辑

完成后用户窗体的外观如何:

Pic of Zoombox user form after it is finished

代码和设置:

  1. userform有一个TextBox1,注释出现并可以编辑; ListBox1,列出用户可以选择在评论文本上使用的字体大小;和一个CommandButton1来显示用户表单。
  2. 我只更改了TextBox的属性。 MultiLine为True,Word Wrap为True,ScrollBars为None。
  3. 我很感激帮助解决这个问题。

    以下是完整代码,位于用户表单下方:

    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
    

    以下是命令按钮下的代码,该代码位于电子表格的Module1中:

    Sub ShowZoom()
        ZoomForm.Show
    End Sub
    

1 个答案:

答案 0 :(得分:0)

答案:以下是其他可能需要帮助的人的答案。这是代码行中出现错误的引号。

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

报价如下:(单引号= sq,双引号= dq - 中间没有空格):

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

我在这里找到答案:Forum used to help re: quotes

我不知道为什么带有此代码的示例表单与我最初为此行发布的代码一起使用,但它在我的工作簿中不起作用。我还将我的userform和控件(文本框,列表框等)的名称更改为Textbox2,Listbox2,Commandbutton2和ZoomForm2,以防它与工作簿中的任何代码发生冲突,但我不确定是否有帮助

如果您想将代码和示例表单添加到电子表格中,则可以使用以下网站:

ZoomForm Site

谢谢。