txtSel
- аргумент, принимающий элемент управления TextBox
.Не его имя.Это ссылка на объект, где TextBox
- это тип, определенный в любой первой библиотеке ссылок, которая содержит тип TextBox
, поскольку он неквалифицирован.Поскольку Excel является хост-приложением, оно имеет приоритет над библиотекой типов MSForms, которая определяет элемент управления TextBox
, который вы хотите использовать.Таким образом, VBA разрешает это TextBox
до Excel.TextBox
, и это не текстовое поле, которое вы ищете.
Стандартная библиотека VBA ибиблиотека объектной модели приложения хоста не может быть перемещена вниз или на нее нет ссылок.
Определите тип с помощью библиотеки, из которой он взят.И передайте это ByVal
пока вы в этом, так как нет никакой причины (неявно) передать это ByRef
здесь.
Private Sub ColorTxtBoxDisable(ByVal txtSel As MSForms.TextBox)