![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 27.01.2011
Сообщений: 56
|
![]()
Здравствуйте! Вот эта штука долго работает. Проверила через Debug - затыкается на присвоении значений ячейкам.. Что можно сделать?
![]() Dim i As Integer Dim k As Integer Dim J As Integer Private Sub CommandButton1_Click() DB.Activate Dim i As Integer i = 0 If i = 0 Then i = DB.Cells(1, 2).Value DB.Cells(i, 1).Value = TextBox1.Text 'наименование клиента DB.Cells(i, 2).Value = ComboBox8.Text ' имя менеджера DB.Cells(i, 3).Value = ComboBox1.Text ' отдел DB.Cells(i, 4).Value = ComboBox2.Text ' регион DB.Cells(i, 5).Value = TextBox15.Text 'дата первого контакта DB.Cells(i, 6).Value = TextBox16.Text ' дата последнего контакта DB.Cells(i, 7).Value = TextBox17.Text ' дата следующего контакта DB.Cells(i, 8).Value = ComboBox3.Text ' источник DB.Cells(i, 9).Value = TextBox2.Text ' ФИО клиента DB.Cells(i, 10).Value = TextBox11.Text ' Должность DB.Cells(i, 11).Value = TextBox3.Text ' Тел клиента DB.Cells(i, 12).Value = TextBox4.Text ' e-mail DB.Cells(i, 13).Value = ComboBox4.Text ' отрасль клиента DB.Cells(i, 14).Value = ComboBox6.Text ' процедура выбора DB.Cells(i, 15).Value = ComboBox5.Text ' статус клиента DB.Cells(i, 16).Value = TextBox9.Text ' продукция DB.Cells(i, 17).Value = ComboBox7.Text ' тип работ DB.Cells(i, 18).Value = TextBox13.Text 'потенциал DB.Cells(i, 19).Value = TextBox14.Text 'комментарии i = i + 1 Exit Sub End Sub |
![]() |
![]() |
![]() |
#2 |
Форумчанин
Регистрация: 02.12.2010
Сообщений: 160
|
![]()
Переменная i объявлена локально и глобально?о_О
может имеет смысл в форме использовать свойсто tag эл. управ, где tag номер столбца. и перечислять эл. управ. в виде Код:
|
![]() |
![]() |
![]() |
#3 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]()
Замените весь свой код на это:
Код:
Цитата:
Вы же, зачем-то, запускаете его бесконечное число раз - потому и долго (где ошибка - не могу сказать. где-то в другом макросе, который вы не показали)
__Полезные надстройки для Excel. Парсинг сайтов и файлов.
![]() Последний раз редактировалось EducatedFool; 04.05.2011 в 16:45. |
|
![]() |
![]() |
![]() |
#4 |
Форумчанин
Регистрация: 02.12.2010
Сообщений: 160
|
![]()
EducatedFool
интересный участок кода) Код:
|
![]() |
![]() |
![]() |
#5 | |
Программист VBA
СуперМодератор
Регистрация: 13.07.2008
Сообщений: 6,858
|
![]() Цитата:
1) выделяете самую последнюю (Db.Rows.Count) ячейку в столбце "A" - это будет ячейка Db.Range("A" & Db.Rows.Count) 2) нажимаете комбинацию клавиш Ctrl + <стрелка вверх> (.End(xlUp)) для перехода к последней заполненной ячейке в этом столбце 3) смотрите её номер строки (.Row) - и путём прибавления единицы ( + 1) получаете номер следующей строки, доступной для ввода данных |
|
![]() |
![]() |
![]() |
#6 |
Пользователь
Регистрация: 27.01.2011
Сообщений: 56
|
![]()
Большое спасибо!!!
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Не работает пример из Хелпа по VBA | CaptainNemo | Microsoft Office Excel | 2 | 08.02.2013 20:49 |
VBA, не работает скрипт | Domain | Microsoft Office Excel | 2 | 04.10.2010 11:07 |
Windows Application not responding, когда долго работает цикл | serres | Общие вопросы .NET | 5 | 18.02.2010 13:45 |
Shared файл. Долго работает. | Jarik | Microsoft Office Excel | 3 | 21.09.2009 12:29 |