Константы лучше всего использовать тогда, когда значение нужно назначить один раз внутри кода и дальше только считывать. А нужны они в данном случае, как правильно заметили - для удобства программиста. Например, есть у нас константа:
Код |
---|
Const lWBName_COL as Long = 5 |
В ней храним номер столбца, в который записывается имя книги. Так вот, в коде при записи мы неоднократно применяем эту самую константу, вместо того, чтобы каждый раз писать Cells(lr, 5). С одной стороны блаж - можно напрямую номер столбца писать. Но с другой стороны: а если расположение столбца с 5 надо поменять на другое значение? Что делать будем? Бегать по коду и менять везде? Или Ctrl+H(который может зацепить и что-то другое, где менять не надо)? А в случае с константой просто меняем номер у константы и радуемся.
Да, можно и переменные для этого применять. Но тут есть нюанс: в случае с переменной есть хоть крохотный, но шанс, что в ходе выполнения программы эта переменная будет либо обнулена, либо заменено значение, что повлечет ошибку логики выполнения. А если эта константа - то VBA уже на стадии компиляции скажет, что нельзя изменять значение констант. Плюс константы инициализируются один раз в момент компиляции, что несколько ускоряет обращение к ним из кода.