Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > IT форум > Помощь студентам
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 05.01.2013, 14:28   #1
mozart2012
Пользователь
 
Регистрация: 08.11.2012
Сообщений: 15
Печаль Почему не работает код? VBA

Пишу тест в VBA на форме, совсем плохо знаю этот язык, помогите найти и справить ошибку, пожалуйста. Суть в том, чтобы в зависимости от количества вариантов ответов лишние "флажки" ответов убирались или появлялись с вариантом ответа. Ошибка либо в переменной либо в логике вообще? Вот сама "считающая" функция:

Function AnsQuan(RwCntSt As Integer) As Integer
Dim RwCnt As Integer, SumAns As Integer
SumAns = 0
RwCnt = RwCntSt
Do Until Sheets("Chapter02").Cells(RwCnt, 3) = ""
If Sheets("Chapter02").Cells(RwCnt, 3).Value Then SumAns = SumAns + 1
RwCnt = RwCnt + 1
Loop
AnsQuan = SumAns
End Function

А дальше её результаты вставляю вот сюда :

Sub FrmContent(QwNum As Integer)
Dim RwCnt As Integer
Dim AnsQuan As Integer
Dim FrameSelect As Boolean
RwCnt = 1
Do Until Sheets("Chapter02").Cells(RwCnt, 1) = QwNum
RwCnt = RwCnt + 1
Loop
FrameSelect = OneToAll(RwCnt + 1)


Select Case AnsQuan
Case 4
frmTest.obAns5.Visible = False
frmTest.obAns6.Visible = False
frmTest.cbxAns5.Visible = False
frmTest.cbxAns6.Visible = False
Case 5
frmTest.obAns5.Visible = True
frmTest.obAns6.Visible = False
frmTest.cbxAns5.Visible = True
frmTest.cbxAns6.Visible = False
Case 6
frmTest.obAns5.Visible = True
frmTest.obAns6.Visible = True
frmTest.cbxAns5.Visible = True
frmTest.cbxAns6.Visible = True
End Select

....*далее идёт код функции, не имеющей отношения к проблеме)*


Последний раз редактировалось mozart2012; 05.01.2013 в 14:29. Причина: пояснение в заголовке
mozart2012 вне форума Ответить с цитированием
Старый 05.01.2013, 14:50   #2
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

Цитата:
Сообщение от mozart2012 Посмотреть сообщение
Пишу тест в VBA на форме, совсем плохо знаю этот язык, помогите найти и справить ошибку, пожалуйста. Суть в том, чтобы в зависимости от количества вариантов ответов лишние "флажки" ответов убирались или появлялись с вариантом ответа. Ошибка либо в переменной либо в логике вообще? Вот сама "считающая" функция:

Function AnsQuan(RwCntSt As Integer) As Integer
Dim RwCnt As Integer, SumAns As Integer
SumAns = 0
RwCnt = RwCntSt
Do Until Sheets("Chapter02").Cells(RwCnt, 3) = ""
If Sheets("Chapter02").Cells(RwCnt, 3).Value Then
'Какой тип данных в этой ячейке
SumAns = SumAns + 1
RwCnt = RwCnt + 1
Loop
AnsQuan = SumAns
End Function

А дальше её результаты вставляю вот сюда :

Sub FrmContent(QwNum As Integer)
Dim RwCnt As Integer
Dim AnsQuan As Integer' Имя переменной и функции одинаковы.Компилятор наверное охрип
Dim FrameSelect As Boolean
RwCnt = 1
Do Until Sheets("Chapter02").Cells(RwCnt, 1) = QwNum
RwCnt = RwCnt + 1
Loop
FrameSelect = OneToAll(RwCnt + 1)


Select Case AnsQuan
Case 4
frmTest.obAns5.Visible = False
frmTest.obAns6.Visible = False
frmTest.cbxAns5.Visible = False
frmTest.cbxAns6.Visible = False
Case 5
frmTest.obAns5.Visible = True
frmTest.obAns6.Visible = False
frmTest.cbxAns5.Visible = True
frmTest.cbxAns6.Visible = False
Case 6
frmTest.obAns5.Visible = True
frmTest.obAns6.Visible = True
frmTest.cbxAns5.Visible = True
frmTest.cbxAns6.Visible = True
End Select

....*далее идёт код функции, не имеющей отношения к проблеме)*


Выделил красным то.что сразу бросилось в глаза
Цитата:
.*далее идёт код функции, не имеющей отношения к проблеме)*
Ошибаетесь,если такие ошибки и в остальном коде,то надо смотреть его весь.
Лучше файлик прикрепить.
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
почему не работает код? Tolian92 Помощь студентам 1 21.05.2012 23:16
Почему не работает код? Asdprom Общие вопросы C/C++ 20 09.04.2012 12:27
Почему не работает код? Bogusgl Microsoft Office Excel 20 10.08.2010 11:14
Почему не работает код? Kashp Общие вопросы Delphi 3 09.08.2007 17:33