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

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

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

Восстановить пароль

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

Ответ
 
Опции темы Поиск в этой теме
Старый 25.03.2010, 21:22   #1
Tomoa
Пользователь
 
Регистрация: 27.11.2009
Сообщений: 31
Восклицание Ошибка в VBA (Excel)

Здравствуйте уважаемые форумчане!
возникла небелшая проблема.
В VBA(Excel) создаю форму, на нее помещаю кнопку и RefEdit, после пишу код

Private Sub CB4_Click()
Dim i As Integer, j As Integer, n As Integer, q As Integer, w As Integer, d As Integer
Dim a() As Single
n = Range(RE1).Rows.Count
ReDim a(1 To n, 1 To n) As Single
ActiveSheet.Range(RE1).Select
For i = 1 To n
For j = 1 To n
a(i, j) = ActiveCell(i, j).Value
Next j
Next i
For i = 1 To n
For j = 1 To n
Select Case i
Case Is > j
q = q + a(i, j)
Case Is = j
w = w + a(i, j)
Case Is < j
d = d + a(i, j)
End Select
Next j
Next i
Cells(n + 1, 1) = "Главная диагональ : " & w
Cells(n + 2, 1) = "Выше главной : " & q
Cells(n + 3, 1) = "Ниже главной : " & d
End Sub

Запускаю программу, после выделения диапазона ячеек Excel виснет, на нажаттие кнопок не реагирует. Подскажите в чем проблема?

Последний раз редактировалось Tomoa; 25.03.2010 в 21:25.
Tomoa вне форума Ответить с цитированием
Старый 25.03.2010, 23:16   #2
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Цитата:
Сообщение от Tomoa Посмотреть сообщение
после выделения диапазона ячеек Excel виснет
В 2007 код подразумевает выделение не диапазона ячеек, а диапазона строк n = Range(RE1).Rows.Count. При этом ActiveCell теряет смысл. Зависаний нет...
eoln вне форума Ответить с цитированием
Старый 25.03.2010, 23:36   #3
Tomoa
Пользователь
 
Регистрация: 27.11.2009
Сообщений: 31
По умолчанию

вы не могли бы сказать, на что нужно изменить ActiveCell?
Tomoa вне форума Ответить с цитированием
Старый 26.03.2010, 00:03   #4
eoln
Старожил
 
Аватар для eoln
 
Регистрация: 26.04.2008
Сообщений: 2,645
По умолчанию

Координаты нужного места. Если таблица в верхнем левом углу, то подойдёт a(i, j) = Лист1.Cells(i, j)
eoln вне форума Ответить с цитированием
Старый 26.03.2010, 00:16   #5
Tomoa
Пользователь
 
Регистрация: 27.11.2009
Сообщений: 31
По умолчанию

у меня все равно не работает((
не могли бы вы выложить код или лист с примером?
Tomoa вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
VBA Word,VBA Excel решить 2 задачи fafolo4ka Фриланс 6 05.03.2012 01:15
VBA Excel PashaD Microsoft Office Excel 2 21.03.2010 18:47
Как запретить запуск программы на VBA Excel 2003 в Excel 2007 kovalevskivf Microsoft Office Excel 2 15.05.2009 16:47
Ошибка и падение (выход) Excel при выполнении сложной программы на VBA Serge_Bliznykov Microsoft Office Excel 6 13.08.2008 16:50
VBA i Excel corsarlt Microsoft Office Excel 3 03.04.2008 06:13