Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Указание начального значения переменной - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Указание начального значения переменной (Макросы/Sub)
Указание начального значения переменной
ZetMenChavo Дата: Среда, 21.09.2022, 19:36 | Сообщение № 1
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 138
Репутация: 7 ±
Замечаний: 0% ±

Excel 2010
Здравствуйте. Вопрос простой, но меня вогнал в ступор, так как даже не знаю где искать ответ.
И заключается в возможности задать начальное значение переменной при прописывании её в Dim.

Наткнулся на такой функциал Dim, когда искал инфу по другому вопросу, и подумал "А что, удобно. Можно и так начальное значение задавать".
Но вот было моё удивление когда оказалось что у меня так почему то нельзя, вместо этого строчка с Dim просто подсечивается красным.

Вот примеры с сайтов майкрософт
Оператор Dim
https://learn.microsoft.com/ru-ru....atement
Оператор Resume
https://learn.microsoft.com/ru-ru....atement




А вот что у меня, когда я просто копирую код без изменений



Может кто помочь и объяснить, почему у меня это не работает. Мне что то включить надо в VBA или что?


Сообщение отредактировал ZetMenChavo - Среда, 21.09.2022, 20:09
 
Ответить
СообщениеЗдравствуйте. Вопрос простой, но меня вогнал в ступор, так как даже не знаю где искать ответ.
И заключается в возможности задать начальное значение переменной при прописывании её в Dim.

Наткнулся на такой функциал Dim, когда искал инфу по другому вопросу, и подумал "А что, удобно. Можно и так начальное значение задавать".
Но вот было моё удивление когда оказалось что у меня так почему то нельзя, вместо этого строчка с Dim просто подсечивается красным.

Вот примеры с сайтов майкрософт
Оператор Dim
https://learn.microsoft.com/ru-ru....atement
Оператор Resume
https://learn.microsoft.com/ru-ru....atement




А вот что у меня, когда я просто копирую код без изменений



Может кто помочь и объяснить, почему у меня это не работает. Мне что то включить надо в VBA или что?

Автор - ZetMenChavo
Дата добавления - 21.09.2022 в 19:36
RAN Дата: Среда, 21.09.2022, 21:46 | Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 5629
Репутация: 1143 ±
Замечаний: 0% ±

2010
vb.net <> vba

К сообщению приложен файл: 5890911.jpg(111.1 Kb) · 0904235.jpg(45.1 Kb)


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщениеvb.net <> vba


Автор - RAN
Дата добавления - 21.09.2022 в 21:46
ZetMenChavo Дата: Среда, 21.09.2022, 23:16 | Сообщение № 3
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 138
Репутация: 7 ±
Замечаний: 0% ±

Excel 2010
Цитата
vb.net <> vba
Ого! Так этих ВБАшек ещё и несколько, и с похожими названиями. Самое то для поиска по ключевым словам, а потом гадай, почему код не работает так как в описании :D

RAN, нашёл, по вашей наводке, тему на другом сайте
"В чем отличие VB.NET от VBA"
Цитата
VBA - "кастрирован" сильно урезан по функционалу.
VB.Net - современный мощный объектно-ориентированый язык программирования.


Теперь буду знать про то что есть отличающаяся net версия. Спасиб за помощь :)
 
Ответить
Сообщение
Цитата
vb.net <> vba
Ого! Так этих ВБАшек ещё и несколько, и с похожими названиями. Самое то для поиска по ключевым словам, а потом гадай, почему код не работает так как в описании :D

RAN, нашёл, по вашей наводке, тему на другом сайте
"В чем отличие VB.NET от VBA"
Цитата
VBA - "кастрирован" сильно урезан по функционалу.
VB.Net - современный мощный объектно-ориентированый язык программирования.


Теперь буду знать про то что есть отличающаяся net версия. Спасиб за помощь :)

Автор - ZetMenChavo
Дата добавления - 21.09.2022 в 23:16
Serge_007 Дата: Четверг, 22.09.2022, 00:13 | Сообщение № 4
Группа: Админы
Ранг: Местный житель
Сообщений: 15403
Репутация: 2536 ±
Замечаний: ±

Excel 2016
Теперь буду знать про то что есть отличающаяся net версия
ZetMenChavo, вообще-то на нашем форуме уже много лет есть целый раздел по "другим" VB: Вопросы по VB, VBS, VB.net

VBA - "кастрирован" сильно урезан по функционалу.
Это не совсем так
VBA - это язык, специально адаптированный под работу с приложениями (в основном офисными)


ЮMoney:41001419691823 | WMR:126292472390
 
Ответить
Сообщение
Теперь буду знать про то что есть отличающаяся net версия
ZetMenChavo, вообще-то на нашем форуме уже много лет есть целый раздел по "другим" VB: Вопросы по VB, VBS, VB.net

VBA - "кастрирован" сильно урезан по функционалу.
Это не совсем так
VBA - это язык, специально адаптированный под работу с приложениями (в основном офисными)

Автор - Serge_007
Дата добавления - 22.09.2022 в 00:13
ZetMenChavo Дата: Четверг, 22.09.2022, 14:15 | Сообщение № 5
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 138
Репутация: 7 ±
Замечаний: 0% ±

Excel 2010
Serge_007, я самоучка в плане эксель. До токо как я начал разбираться в макросах, они казались мне слишком страшными и сложными, и я думал что впринципе обойдусь функциями и условными форматированиями. Но любопыство в один день взяло верх, узнать что это за зверь "макросы". И так как учителей небыло, в ходе самообучения, познавал лишь те примочки ВБА, действия которых мне требовались на тот момент времени.

Так что и сейчас я узнал про разные ВБА, и про то что "на форуме уже много лет есть целый раздел по "другим" VB", лишь столкнувшись с проблемой истекающей из разного функционала VB.

Так что по итогу, большое спасибо, что помогли в очередной раз расширить мои знания по эксель :)

P.S.: Я поначалу не мог понять почему нельзя предустановить начальное значение переменных через Dim, так как в пользовательских функциях эта возвожность мне попадалась,
и я справедливо думал что с Dim так тоже должно работать
[vba]
Код
Function sss(Optional aaa As Long = 5) As Long
    sss = aaa
End Function
Sub eee()
    MsgBox sss 'Выдаёт 5 в окошке бокса
End Sub
[/vba]


Сообщение отредактировал ZetMenChavo - Четверг, 22.09.2022, 14:19
 
Ответить
Сообщение Serge_007, я самоучка в плане эксель. До токо как я начал разбираться в макросах, они казались мне слишком страшными и сложными, и я думал что впринципе обойдусь функциями и условными форматированиями. Но любопыство в один день взяло верх, узнать что это за зверь "макросы". И так как учителей небыло, в ходе самообучения, познавал лишь те примочки ВБА, действия которых мне требовались на тот момент времени.

Так что и сейчас я узнал про разные ВБА, и про то что "на форуме уже много лет есть целый раздел по "другим" VB", лишь столкнувшись с проблемой истекающей из разного функционала VB.

Так что по итогу, большое спасибо, что помогли в очередной раз расширить мои знания по эксель :)

P.S.: Я поначалу не мог понять почему нельзя предустановить начальное значение переменных через Dim, так как в пользовательских функциях эта возвожность мне попадалась,
и я справедливо думал что с Dim так тоже должно работать
[vba]
Код
Function sss(Optional aaa As Long = 5) As Long
    sss = aaa
End Function
Sub eee()
    MsgBox sss 'Выдаёт 5 в окошке бокса
End Sub
[/vba]

Автор - ZetMenChavo
Дата добавления - 22.09.2022 в 14:15
_Boroda_ Дата: Четверг, 22.09.2022, 15:04 | Сообщение № 6
Группа: Модераторы
Ранг: Местный житель
Сообщений: 16354
Репутация: 6351 ±
Замечаний: 0% ±

2003; 2007; 2010; 2013 RUS
ZetMenChavo, Вот еще посмотрите
http://www.excelworld.ru/forum/7-1861-1


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеZetMenChavo, Вот еще посмотрите
http://www.excelworld.ru/forum/7-1861-1

Автор - _Boroda_
Дата добавления - 22.09.2022 в 15:04
ZetMenChavo Дата: Четверг, 22.09.2022, 15:30 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 138
Репутация: 7 ±
Замечаний: 0% ±

Excel 2010
_Boroda_, Ахринеть :o !! Интересная фишка) И главное работает у меня
[vba]
Код
Sub ssss()
    Dim t As String
    Dim tx As String * 5
    '-----
    t = "qwertyuiop"
    Debug.Print t 'qwertyuiop
    tx = t
    t = tx
    Debug.Print t 'qwert
End Sub
[/vba]
Спасиб за наводку. Может где и пригодиться)
 
Ответить
Сообщение _Boroda_, Ахринеть :o !! Интересная фишка) И главное работает у меня
[vba]
Код
Sub ssss()
    Dim t As String
    Dim tx As String * 5
    '-----
    t = "qwertyuiop"
    Debug.Print t 'qwertyuiop
    tx = t
    t = tx
    Debug.Print t 'qwert
End Sub
[/vba]
Спасиб за наводку. Может где и пригодиться)

Автор - ZetMenChavo
Дата добавления - 22.09.2022 в 15:30
RAN Дата: Четверг, 22.09.2022, 19:49 | Сообщение № 8
Группа: Друзья
Ранг: Экселист
Сообщений: 5629
Репутация: 1143 ±
Замечаний: 0% ±

2010
И главное работает у меня

Все чудесатее, и чудесатее (С) :'(


Быть или не быть, вот в чем загвоздка!
 
Ответить
Сообщение
И главное работает у меня

Все чудесатее, и чудесатее (С) :'(

Автор - RAN
Дата добавления - 22.09.2022 в 19:49
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Указание начального значения переменной (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2022 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!