VbA и CommandButton

Программирование на Visual Basic for Applications
baranich
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 123
Зарегистрирован: 23.08.2005 (Вт) 9:00

VbA и CommandButton

Сообщение baranich » 19.09.2005 (Пн) 9:53

Такой вопрос, можно ли на посчитать, количество кликов на кнопку и присвоить это значение какой-нибудь переменной. заранее спасибо.

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 19.09.2005 (Пн) 10:09

Естественно. Например, так: в событии Click определяешь переменную как Static (Static a As Integer). Такое объявление означает, что значение переменной будет сохраняться даже после выхода из процедуры. После этого пропиши в процедуре a=a+1, и все. Переменная a будет содержать количество кликов.

Можно вместо Static объявить Public переменную.
Быть... или не быть. Вот. В чём вопрос?

baranich
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 123
Зарегистрирован: 23.08.2005 (Вт) 9:00

Сообщение baranich » 19.09.2005 (Пн) 10:14

у меня выдает ошибку,
Expected: identifier.
Почему?

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 19.09.2005 (Пн) 10:22

Где?
Быть... или не быть. Вот. В чём вопрос?

baranich
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 123
Зарегистрирован: 23.08.2005 (Вт) 9:00

Сообщение baranich » 19.09.2005 (Пн) 10:23

Код: Выделить всё
Private Sub CommandButton3_Click(static a As Integer)
Holliday(a) = CInt(ComboBox1.Text)
a = a + 1
End Sub


как только я добавела, и сразу выскакивает сообщение

uhm
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1597
Зарегистрирован: 02.12.2004 (Чт) 15:21

Сообщение uhm » 19.09.2005 (Пн) 10:34

Не в объявлении функции, а в самой функции:

Код: Выделить всё
Код:

Private Sub CommandButton3_Click ()
Static a As Integer
...
End Sub


Быть... или не быть. Вот. В чём вопрос?

baranich
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 123
Зарегистрирован: 23.08.2005 (Вт) 9:00

Сообщение baranich » 19.09.2005 (Пн) 11:07

Спасибо за совет

baranich
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 123
Зарегистрирован: 23.08.2005 (Вт) 9:00

Сообщение baranich » 19.09.2005 (Пн) 11:23

Другой вопрос: есть

ThisDocument.TextBox1.Text=FirstOfNextMonth

т.е TextBox получает дату в виде 10.01.05, а мне надо чтобы месяц был написан, т.е не 01, а январь

baranich
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 123
Зарегистрирован: 23.08.2005 (Вт) 9:00

Сообщение baranich » 19.09.2005 (Пн) 13:24

Вопрос
Код: Выделить всё
For i = 70 To 92
    While (Weekday(FirstOfNextMonth) = 1) Or (Weekday(FirstOfNextMonth) = 7)
        For oa = 0 To p
            While (FirstOfNextMonth = WDay(oa))
                a(i) = FirstOfNextMonth
                Exit For
     
            Wend
        Next oa
       FirstOfNextMonth = FirstOfNextMonth + 1
    Wend
............
............
............

FirstOfNextMonth = FirstOfNextMonth + 1


Вопрос вот в чем, можно ли на VBA сделать чтобы в цикле While (FirstOfNextMonth = WDay(oa)) после Exit For вставить какой-нибудь оператор(я не знаю существует он или нет), который позволял бы пройти мимо операции(они показаны точками) и сразу переходил на операцию FirstOfNextMonth = FirstOfNextMonth + 1[/code]

FLAGER
Обычный пользователь
Обычный пользователь
Аватара пользователя
 
Сообщения: 67
Зарегистрирован: 12.09.2005 (Пн) 13:49

Сообщение FLAGER » 19.09.2005 (Пн) 14:17

А если просто GoTO?

alibek
Большой Человек
Большой Человек
 
Сообщения: 14205
Зарегистрирован: 19.04.2002 (Пт) 11:40
Откуда: Russia

Сообщение alibek » 19.09.2005 (Пн) 14:40

Можно еще If oa <= p
Но данный код неправильный. Правильно было бы использовать не While...Wend, а Do...Loop и предварительно делать Exit Do.
Lasciate ogni speranza, voi ch'entrate.

baranich
Продвинутый пользователь
Продвинутый пользователь
 
Сообщения: 123
Зарегистрирован: 23.08.2005 (Вт) 9:00

Сообщение baranich » 19.09.2005 (Пн) 14:50

спасибо за советы


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 89

    TopList