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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 12.08.2013, 15:28   #1
Nesvin
 
Регистрация: 22.06.2011
Сообщений: 5
По умолчанию Проблемы с запуском макроса

Уважаемые форумчане!
Есть проблема.

При отладке кода все работает замечательно, но как только пытаешься запустить программу выдает ошибку Run-time error '6': Overflow.
Помогите пожалуйста!

Код:
Dim Ak_1 As Variant
Dim Sp_1 As Variant
Dim a As Integer

a = 1

Ak_1 = "10302011010000110"

Workbooks.Open ("C:\Users\User1\Desktop\Data_base\ RUS\FB_mar_2013")
Workbooks("FB_mar_2013").Activate
Worksheets(1).Activate

Do While Ak_1 <> Range("C" & a)
a = a + 1
Loop

Sp_1 = Range("D" & a)
Nesvin вне форума Ответить с цитированием
Старый 12.08.2013, 15:31   #2
Watcher_1
Форумчанин
 
Аватар для Watcher_1
 
Регистрация: 22.06.2011
Сообщений: 325
По умолчанию

Закоментируйте Dim a As Integer
Возможно у вас переполняется a
Заказать макрос можно на сайте http://excel4you.ru/
Watcher_1 вне форума Ответить с цитированием
Старый 12.08.2013, 15:41   #3
Nesvin
 
Регистрация: 22.06.2011
Сообщений: 5
По умолчанию

Прошу прощения.
Вы правы, у меня переполняется счетчик а. При этом, при запуске программы у меня в открывающемся файле код пропускает искомое значение, которое соответствует Ak_1. А при отладке такого не происходит.=(
Nesvin вне форума Ответить с цитированием
Старый 12.08.2013, 16:06   #4
doober
Старожил
 
Аватар для doober
 
Регистрация: 02.05.2009
Сообщений: 3,907
По умолчанию

так не проще будет?
Код:
Ak_1 = "10302011010000110"

With Workbooks.Open("C:\Users\User1\Desktop\Data_base\ RUS\FB_mar_2013")
    Set x = .Worksheets(1).Columns("C:C").Find(Ak_1, , , xlWhole)
    If Not x Is Nothing Then
        Sp_1 = x.Offset(, 1)

    End If
End With
Анализ,обработка данных Недорого
doober вне форума Ответить с цитированием
Старый 12.08.2013, 16:30   #5
Nesvin
 
Регистрация: 22.06.2011
Сообщений: 5
По умолчанию

Спасибо, все работает!
Так намного проще.
Nesvin вне форума Ответить с цитированием
Старый 12.08.2013, 16:47   #6
Skif-F
Форумчанин
 
Регистрация: 24.03.2010
Сообщений: 349
По умолчанию

Большая просьба, попробуйте указать в своём варианте Range полностью:

Код:
Do While Ak_1 <> Workbooks("FB_mar_2013").Worksheets(1).Range("C" & a)
    a = a + 1
Loop

Sp_1 = Workbooks("FB_mar_2013").Worksheets(1).Range("D" & a)
если не ошибаюсь, то тоже должно отработать.
Только просьба, обязательно отпишитесь!
Нет нерешаемых задач - есть недостаток времени и данных!
Skif-F вне форума Ответить с цитированием
Старый 12.08.2013, 21:23   #7
Watcher_1
Форумчанин
 
Аватар для Watcher_1
 
Регистрация: 22.06.2011
Сообщений: 325
По умолчанию

А при чем тут указание Range полностью если идет переполнение счетчика а ?
Заказать макрос можно на сайте http://excel4you.ru/

Последний раз редактировалось Watcher_1; 12.08.2013 в 21:28.
Watcher_1 вне форума Ответить с цитированием
Старый 13.08.2013, 00:53   #8
Skif-F
Форумчанин
 
Регистрация: 24.03.2010
Сообщений: 349
По умолчанию

Цитата:
Сообщение от Watcher_1 Посмотреть сообщение
А при чем тут указание Range полностью если идет переполнение счетчика а ?
Просто Range и Cells без привязки к объекту - вещь в некотором роде неопределённая - нормально они указывают на активый лист (если расположены в стандартном модуле) или на свой лист (если расположены в модуле листа).
Вот у меня и возникло подозрение, что выражение:
Код:
Workbooks.Open ("C:\Users\User1\Desktop\Data_base\ RUS\FB_mar_2013")
Workbooks("FB_mar_2013").Activate
Worksheets(1).Activate
Do While Ak_1 <> Range("C" & a)
ссылается на первый лист СВОЕЙ книги.
А тот факт, что программа работала в режиме отладки - это вопрос к ребятам из Microsoft!
Заметьте, Doober указывал объект полностью!
Нет нерешаемых задач - есть недостаток времени и данных!
Skif-F вне форума Ответить с цитированием
Ответ


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

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Эксель 2007: Проблема с запуском макроса по событию Byroad Microsoft Office Excel 7 14.09.2010 13:23
проблемы с запуском С alex(21) Общие вопросы C/C++ 15 25.10.2009 13:29
Помогите с запуском макроса bvden Microsoft Office Excel 0 13.07.2009 15:53
Проблемы с запуском DELPHI 7 Alex Cones Общие вопросы Delphi 7 24.04.2009 16:54
Проблемы с запуском Черничный PHP 11 26.11.2008 16:21