2017-02-01 12 views
0

Я создал пользовательскую форму в Excel 2013 из интернет-ресурса. Когда я нажимаю Ctrl-m или дважды щелкаю по ячейке, пользовательская форма всплывает в окне масштабирования, где я могу легко просматривать свои комментарии и вводить новые комментарии.Ошибка времени выполнения 380: Не удалось установить свойство ControlSource. Недопустимое значение свойства для пользовательской формы в Excel

ошибка времени выполнения 380 в названии этой строке кода появляется (см ниже полный код):

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

(Перед тем как я включил ListBox на форме пользователя, я получил бы ошибку во время выполнения 424 объекта, требующегося на этой же строке кода)

Мой вход:. Я посмотрел на различные ответы в Интернете, но я не понимаю, как исправить эту ошибку во время выполнения программы 380 б/с ним появился после добавления списка, но он не относится к строке кода для списка.

EDIT: Должен ли я список значений в списке, как ?:

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

Конец EDIT

Как UserForm будет выглядеть, когда закончил:

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 

Вот код под командной кнопки, которая находится в Module1 из таблицы:

Sub ShowZoom() 
    ZoomForm.Show 
End Sub 

ответ

0

ОТВЕТ: Вот ответ для всех, кому может понадобиться помощь. Это были кавычки в строке кода, которые имели ошибку.

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

кавычки следующим образом: (апостроф = кв, двойные кавычки = дк - без пробелов между ними):

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

Я нашел ответ здесь: Forum used to help re: quotes

I не знаю, почему форма образца с этим кодом работает с кодом, поскольку я первоначально опубликовал эту строку, но это не работает в моей книге. Я также изменил имена моей пользовательской формы и элементов управления (текстовое поле, список и т. Д.) в Textbox2, Listbox2, Commandbutton2 и ZoomForm2 на всякий случай, если он сталкивается с любым кодом в рабочей книге, но я не уверен, что это помогло.

Вот сайт, где код и образец формы пришли, если вы хотите, чтобы добавить его в таблицу:

ZoomForm Site

Спасибо.