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

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

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 05.07.2013, 13:41   #1
romka_f
 
Регистрация: 08.04.2013
Сообщений: 5
По умолчанию Небольшая база данных (error 424)

В общем, на одном листе (ZTI_DB) у меня базза данных(имена, фамилии, номера и т.д.)
На другом, ввожу номер, и по нажатию кнопки должны вводиться имена, фамилии и т.д. с базы данных.
Реализовывал с помощью ActiveCell. Но увы рантайм 424. С макросами работаю первый раз.
Вот кусок кода VBA. Помогите, пожалуйста.

Код:
Sub Button_Click()
    
    If ActiveCell.Value = 1 Then
        ActiveSheet.Cells(ActiveCell.Row, ActiveCell.Column - 1) = ZTI_DB.Cells(2, 1)
        ActiveSheet.Cells(ActiveCell.Row, ActiveCell.Column + 1) = ZTI_DB.Cells(2, 3)
        ActiveSheet.Cells(ActiveCell.Row, ActiveCell.Column + 2) = ZTI_DB.Cells(2, 4)
        ActiveSheet.Cells(ActiveCell.Row, ActiveCell.Column + 3) = ZTI_DB.Cells(2, 5)
        ActiveSheet.Cells(ActiveCell.Row, ActiveCell.Column + 4) = ZTI_DB.Cells(2, 6)
    ElseIf ActiveCell.Value = 2 Then
        ActiveSheet.Cells(ActiveCell.Row, ActiveCell.Column - 1) = ZTI_DB.Cells(3, 1)
        ActiveSheet.Cells(ActiveCell.Row, ActiveCell.Column + 1) = ZTI_DB.Cells(3, 3)
        ActiveSheet.Cells(ActiveCell.Row, ActiveCell.Column + 2) = ZTI_DB.Cells(3, 4)
        ActiveSheet.Cells(ActiveCell.Row, ActiveCell.Column + 3) = ZTI_DB.Cells(3, 5)
        ActiveSheet.Cells(ActiveCell.Row, ActiveCell.Column + 4) = ZTI_DB.Cells(3, 6)
    
    End If
     
End Sub
romka_f вне форума Ответить с цитированием
Старый 05.07.2013, 13:53   #2
DiemonStar
Старожил
 
Регистрация: 08.02.2012
Сообщений: 2,173
По умолчанию

Лучше бы приложили пример файла.
Если честно, навскидку вижу пару ошибок:
1.
Код:
ActiveSheet.Cells(ActiveCell.Row, ActiveCell.Column - 1)
если активна ячейка в первой колонке, то ошибка закономерна (нет столбца с нулевым индексом). А создание такой ситуации очень даже возможно.
2.
Код:
ZTI_DB.Cells(2, 1)
- сомневаюсь, что в таком виде вы получите доступ к странице. Сделайте лучше так:
Код:
Sheets("ZTI_DB").Cells(2, 1)
Правильно поставленная задача - три четверти решения.
DiemonStar вне форума Ответить с цитированием
Старый 05.07.2013, 13:56   #3
romka_f
 
Регистрация: 08.04.2013
Сообщений: 5
По умолчанию

Спасибо, проблема была в названии станицы
Код:
Sheets("ZTI_DB").Cells(2, 1)
romka_f вне форума Ответить с цитированием
Старый 06.07.2013, 09:27   #4
slan
Форумчанин
 
Аватар для slan
 
Регистрация: 30.01.2008
Сообщений: 314
По умолчанию

сомнения вполне понятны, но в принципе это может работать - надо только изменить кодовое имя листа на ZTI_DB:

Sheets("ZTI_DB").codename="ZTI_DB" или в окне свойств листа..
slan вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
ошибка 424 evgenii007 Microsoft Office Excel 11 02.12.2012 16:49
Error 424 - Object required, при вызове процедуры из DLL penb Microsoft Office Excel 4 21.03.2012 21:18
Небольшая база в Open Office База данных. sashaman Фриланс 3 11.04.2010 20:13
База данных с возможностью приема данных из файлов Excel Al_Sha БД в Delphi 6 16.10.2009 15:34
Небольшая база данных в Delphi BioVis Фриланс 2 29.06.2009 10:04