Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
Class Module выдает ошибку на Set, Справка и поиск по форуму не помог :(
 
Помогите разобраться в класс модуле выдает ошибку на строке

Код
Set TboxN = "TXTN" & i


Похоже VBA непонравился значок "&", почему незнаю в справке ненашел

Вот код Класс Модуля
Код
Option Explicit
Public WithEvents oTXTBox As MSForms.TextBox

Private Sub oTXTBox_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
Dim i As Long
For i = 1 To 62 Step 1
If i <= 31 Then
            If oTXTBox.Name = "TXT" & i Then
                Set Tbox = oTXTBox
                Set TboxN = "TXTN" & i
                Set LboxS = "LBLchg" & i
                Set LboxTotal = "TTLLbl" & (93 + i)
                Set LboxOrder = "Lbl" & (62 + i)
            End If
    Else
            If oTXTBox.Name = "TXTN" & i - 31 Then
                Set Tbox = oTXTBox
                Set TboxN = "TXT" & i
                Set LboxS = "LBLchg" & i
                Set LboxTotal = "TTLLbl" & (93 + i - 31)
                Set LboxOrder = "Lbl" & (62 + i - 31)
            End If
End If
Next i
Form_Choice.Show
End Sub



Вот код Userform
Код
Private Sub UserForm_Activate()
    Dim i As Integer
    For i = 1 To 62
        If i < 31 Or i = 31 Then
                Set aoTXTBox(i).oTXTBox = Me.Controls("TXT" & i)
            Else
                Set aoTXTBox(i).oTXTBox = Me.Controls("TXTN" & i - 31)
        End If
    Next i
End Sub


Вот код Модуля
Код
Public Tbox As Object
Public TboxN As Object
Public LboxS As Object
Public LboxTotal As Object
Public LboxOrder As Object
Public aoTXTBox(1 To 62) As New clsmFrmTabelTXT
Option Private Module
 
Оператор Set применяется исключительно к объектам, а Вы пытаетесь применить к текстовой строке. Так нельзя.
Как минимум должно быть:
Код
Set TboxN = Me.controls("TXTN" & i)

если код внутри формы. Если не внутри формы - то вместо Me полное имя UserForm.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Спасибо Большое The Prist!
Ошибка была при присвоении имени.
Я ошибочно думал что раз объявлено Public as Object то Form1.Controls и .... прописывать не надо.
Теперь понял что необходимо!
Изменено: gaz- polutorka - 13 Янв 2013 23:34:01
 
gaz- polutorka, процитировали - и что? А, главное, зачем?
 
Цитата
Юрий М пишет:
gaz- polutorka, процитировали - и что? А, главное, зачем?

Юрий М,

Это всё триклятый тачпэд! никак не привыкну!
 
Да зачем ВООБЩЕ в данном случае цитирование? Вас тачпад заставляет?
Страницы: 1
Читают тему (гостей: 1)