VB6->Excel->VBA Macro вопрос

Все, что вы хотели знать о программизме, но боялись спросить.
Ответить
Аватара пользователя
Seaman
Пользователь
Сообщения: 197
Зарегистрирован: 21 фев 2003, 13:26
Откуда: Ессентуки-Нврск-СПб-Торонто

VB6->Excel->VBA Macro вопрос

Сообщение Seaman »

VB6 создает некоторую форму в Excel-е, эта форма получает чекбоксы, чтобы юзер в дальнейшем мог пересчитать результат отсеивая ненужные ему компоненты.
На темплейте Excel-овской формы пытаюсь написать манюсенький макрос:

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

Sub Recalculate_Click()
    Cells(3, 6).Value = Cells(5, 6).Value
    For intNumber = 1 To 31
        With ActiveSheet.CheckBoxes("cbo" & intNumber)
            If .Value = xlOn Then
                Cells(3, 6).Value = (Cells(3, 6).Value + Cells((5 + intNumber), 6).Value)
            End If
        End With
    Next
End Sub
При запуске, макрос считает, что надо, но выдает следующую ошибку:
Run-time error '1004':
Unable to get the CheckBoxes property of the Worksheet class
Оно и правда у Worksheet класса нет CheckBoxes.
А что делать? Как его заставить работать?
Помогите, кто может!
Аватара пользователя
папа Карло
Шарманщик
Сообщения: 8565
Зарегистрирован: 17 фев 2003, 15:04
Откуда: НН -> BC -> WA -> UT -> CA

Сообщение папа Карло »

ты же форму создаешь? посмотри нам на ворклисте наверное есть колекция форм... ищи свою форму... там скорее всего есть надор контролов (дочерних)... среди тех контролов ищи свои чекбоксы....


ЗЫ сам не пробовал.... просто говорю тот путь о которому сам бы пошел... :)
Аватара пользователя
Seaman
Пользователь
Сообщения: 197
Зарегистрирован: 21 фев 2003, 13:26
Откуда: Ессентуки-Нврск-СПб-Торонто

Сообщение Seaman »

Искал, весь день только на это и убил.
Когда создаю эту форму напрямую в Excel-e из VBA есть чекбоксы, когда делаю ее в VB6 тоже есть чекбоксы, а вот когда зову ее из вышеприведенного, нет ничего. Ни чекбоксов, ни радио, ни ну ничего из формы вообще!
Есть, правда, Shapes, и они кажись заменяют всю эту формовую муру, но у них нет .Value!
А как же тогда определить отмечены они или нет?
pank
Пользователь
Сообщения: 75
Зарегистрирован: 26 фев 2003, 20:19
Откуда: toronto

re

Сообщение pank »

mm = CheckBox1.Value
mm = CheckBox2.Value
get false or true depend on checked or not
Аватара пользователя
Seaman
Пользователь
Сообщения: 197
Зарегистрирован: 21 фев 2003, 13:26
Откуда: Ессентуки-Нврск-СПб-Торонто

Сообщение Seaman »

Нашел!
Вся проблема была когда подходило к тому месту, где у меня не было вообще чекбоксов.
Теперь я их посчитал и поставил в петлю в максимум.
Работает!

2 pank: Спасибо за наводку!
Ответить