Поиск  Пользователи  Правила 
Закрыть
Логин:
Пароль:
Забыли свой пароль?
Регистрация
Войти
 
Страницы: 1
RSS
compile error: invalid qualifier
 
Еще раз здравствуйте.
Объясните мне, почему macros1 работает, а macros2 не работает и выдает ошибку:
"compile error: invalid qualifier" Вот примеры:

Sub macros1()
Dim a1 As String
a1 = "213213213213213213213213213213131"
Cells(1, 1).Value = a1
End Sub

Sub macros2()
Dim a1 As String
a1 = "213213213213213213213213213213131"
[a1].Value = a1
End Sub
 
Потому что неудачно назвали переменную. Используйте Dim a As String
 
Спасибо за ответ, Sergei_A, я понял, просто странно,что vba не отличает [a1] от a1.
Лично мне удобно называть переменные так: a1, a2, a3, вместо превычного: a,b,c.
Буду знать 2 вещи:
1.Если у меня есть переменная, например: a1 ,то к ячейке нужно обращаться через: Cells(y,x), а не [a1].
2.Переменные лучше называть: a01, a02, ... , a012 вместо: a1,a2,a3.
Тема закрыта!
 
Переменную лучше называть так, чтобы потом можно было понять, что Вы в ней храните на протяжении её жизни.
Представьте процедуру с 200 строками кода. И все переменные у Вас в ней вида:
Код
Dim a_1 as string, b_1 as Double, c_1 as long,a_2, b_3 as long, c_4 as long

попробуйте потом нормально разобраться в логике кода и тем более разыскать ошибку. Замучаетесь сами каждый раз смотреть что там в переменных.
Даже самый простой вопрос можно превратить в огромную проблему. Достаточно не уметь формулировать вопросы...
 
Вместо [a1].Value = a1 корректнее Range("a1").Value = a1, и проблем не будет.
Vladimir Zakharov
Microsoft MVP – Excel
Страницы: 1
Читают тему (гостей: 1)