2016-05-12 3 views
-2

У меня есть несколько листов, из которых множество многочисленных флажков, из которых при галочке значение ячеек рядом с флажками будет скопировано в текстовое поле. В настоящее время с использованием текстового поля ActiveX, ниже работает код просто отличноЗначение ячейки на отмеченной ячейке, скопированной в текстовое поле Userform

Sub checkBoxHandler() 
ActiveSheet.TextBox1.Text = ActiveSheet.TextBox1.Text & " " & ActiveSheet.Shapes(Application.Caller).TopLeftCell.Offset(1, 1).Value 
End Sub 

Но теперь я хотел бы использовать Userform Textbox, так как он может плавать на рабочей тетради. Модификация кодов, таких как ниже, не выполняет трюк (значение ячеек рядом с отмеченными флажками не копируется в текстовое поле Userform).

Sub ShowTextBox() 
UserForm1.TextBox1.Text = UserForm1.TextBox1.Text & vbLf & ActiveSheet.Shapes(Application.Caller).TopLeftCell.Offset(1, 1).Value 
UserForm1.Show vbModeless 
End Sub 

Кто-нибудь знает, как заставить его работать?

ответ

0

Я сделал аналогичный проект. Я думаю, что пользовательская форма не поддерживает такой метод. так что я сделал это:

я поставил ACTIVEX текстовое поле на каждом из листов и назвал его соответственно (Textbox1, TextBox2 ..), и установить свойство Visibility к ложному

я назначить макрос (ниже) в форме чтобы передать значение ACTIVEX текстового поля в UserForm на каждом листе:

Sub hocmsummary() 
UserForm1.TextBox1.Text = UserForm1.TextBox1.Text & ActiveSheet.TextBox2.Text 

End Sub 

Не забудьте изменить название Textbox соответственно.

+0

извините за поздний ответ..управлено проверить его и очень большое спасибо..это помогает мне много .. – KZMN

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