Форум программистов, компьютерный форум, киберфорум
VBA
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск  
 
 
Рейтинг 4.89/19: Рейтинг темы: голосов - 19, средняя оценка - 4.89
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134

Почему при Do - Loop приложение зависает

26.11.2012, 17:08. Показов 4064. Ответов 22
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день. Нашел у J. Walkenbach листинг, которым хотел воспользоваться, но при выполнении (в части Do....Loop), комп зависает. Пожалуйста, подскажите причину.

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
Private Sub SelectByFormat()
    Dim FirstCell As Range, FoundCell As Range
    Dim AllCells As Range
 
    If Val(Application.Version) < 10 Then
        MsgBox "Нужен Excel 2002 и выше"
        Exit Sub
    End If
'    ActiveWindow.DisplayGridlines = Not _
                    ActiveWindow.DisplayGridlines
    
    ActiveSheet.Cells.Delete
 
    Randomize Timer
    For i = 1 To 20
        For j = 1 To 10
            Cells(i, j).Value = Int((100 * Rnd()) + 1)
        Next j
    Next i
 
    [a3] = "aple": [b2] = "dog": [c5] = "floor"
    [d9] = "tobacco"
    Union([a3], [b2], [c5], [d9]).Font.Italic = True
 
    With Application.FindFormat
        .Interior.ColorIndex = xlNone '
        .Font.Bold = False
        .Font.Italic = True
    End With
    
    Set FirstCell = Cells.Find(What:="", SearchFormat:=True)
    
    If FirstCell Is Nothing Then
        MsgBox "Не найдено."
        Exit Sub
    End If
 
    Set AllCells = FirstCell
    Set FoundCell = FirstCell
 
    Do
        Set FoundCell = Cells.FindNext(After:=FoundCell)
        Set AllCells = Union(FoundCell, AllCells)
            If FoundCell.Address = _
                        FirstCell.Address Then Exit Do
    Loop
 
    AllCells.Select
        MsgBox " Нашли:    " & AllCells.Count
        
End Sub
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
26.11.2012, 17:08
Ответы с готовыми решениями:

Почему зависает программа при бесконечном цикле Do - Loop
Вот собственно программа которую я делал. Но почему-то зависает при старте действий. Public Class Form1 Private Sub...

Почему зависает приложение?
Создал WindowsFormsApplication, далее в форме создал кнопку, которая вызывает void в котором присутствует цикл. void работает но...

Зависает при выходе приложение
Доброй ночи. Имеется консольное приложение, которое убивает процессы всех открытых файлов. Проблема состоит в том что при выходе оно...

22
4377 / 661 / 36
Регистрация: 17.01.2010
Сообщений: 2,134
26.11.2012, 21:47  [ТС]
Студворк — интернет-сервис помощи студентам
to Romas654. Все стало на свои места и мне весь код понятен. А то я уже хотел заганять все нужные ячейки в массив. А так - разширили по ходу диапазон, и вот мне истинное счастье. Еще раз Вам спасибо!
0
6998 / 2896 / 555
Регистрация: 19.10.2012
Сообщений: 8,804
27.11.2012, 10:44
2003 - вариант Walkenbach не работает...
А вот так работает:

Visual Basic
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
    Set FirstCell = Cells.Find(What:="", SearchFormat:=True)
    
    If FirstCell Is Nothing Then
        MsgBox "не найдено."
        Exit Sub
    End If
 
    Set AllCells = FirstCell
    Set FoundCell = FirstCell
 
    Do
        Set FoundCell = Cells.Find(What:="", After:=FoundCell, SearchFormat:=True)
        Set AllCells = Union(FoundCell, AllCells)
            If FoundCell.Address = _
                        FirstCell.Address Then Exit Do
    Loop
 
    AllCells.Select
        MsgBox " Нашли:    " & AllCells.Count
И совсем не нужно нигде activate.
0
117 / 31 / 2
Регистрация: 16.11.2012
Сообщений: 65
27.11.2012, 10:54
Цитата Сообщение от Hugo121 Посмотреть сообщение
И совсем не нужно нигде activate.
Я об этом после написал. В посте 19. тут: Почему при Do - Loop приложение зависает
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
27.11.2012, 10:54

Зависает приложение при отладке
Здравствуйте. Пробую на зуб события C#. Идея приложения - таймер выключения компьютера, содержащий 2 поля NumericUpDown, 1 label для вывода...

Зависает приложение при копировании
у меня есть приложение который копирует файлы вот этом цикле взывается метод копирование: foreach (FileInfo dir in file) ...

Зависает приложение при обращении к IdHTTP1.Get
Ниже описанная функция проверяет подключение к Интернету - возвращает True, если доступ к Интернету есть, иначе False. Всё проходит...

Зависает приложение при нажатии на кнопку
Почему висит окошко при нажатии на кнопку?помогите!новичок в этом совсем. не могу разобраться from dialog2 import * import sys ...

При обращении к процедуре приложение зависает
При обращении к процедуре программа зависает! Помогите разобраться! вот обращение к ней: MiN2(S, S / 5.3, S / 50); А вот код...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
23
Ответ Создать тему
Новые блоги и статьи
Программный домашний кинотеатр
russiannick 27.09.2026
Сподобился на программный домашний кинотеатр. В качестве ЯВУ по традиции выбрал js. В помощники взял Яндекс-Алису. Было создано три зала на разные интересы. исторические и ретро сериал Хичкок. . .
Беседа с ИИ о программистах, недопускающих к созданию и правке кода генеративные ИИ и причины этого
zorxor 21.09.2026
Раньше я радовался или получал некоторые эмоции, пусть небольшие, но всё же, от самого процесса написания кода, рекомпиляции и запуска, видя постепенное развитие программы и прочее. А теперь лень. . .
Мобильное приложение ColorStep
pavlinmavlin 17.09.2026
Реализовал приложение Красный, Зеленый, Синий в Unity3d + c#. Название изменил на ColorStep. Приложение прошло модерацию и теперь доступно для скачивания. Делал его сам, шаг за шагом — и вот,. . .
Запрет дублирования строк в табличной части
Maks 13.09.2026
Реализация из решения ниже выполнена на нетиповом справочнике "Нормы ТО" с табличной часть "Виды ТО", разработанного в КА2, со следующими реквизитами: - ВидТО (СправочникСсылка. ВидыТО); - ВидГСМ. . .
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр.
Jin X 06.09.2026
Скрипты Tampermonkey для CyberForum, ChatGPT, Claude и пр. Работая с форумом и нейросетями в браузере часто хочется что-то подкорректировать или добавить какого-то функционала. Ниже прикреплён. . .
Программа опроса у.з. расходомера SLS-720F
Argus19 02.09.2026
Программа опроса у. з. расходомера SLS-720F Программа опрашивает один раз в минуту три ультразвуковых расходомера SLS-720F через интерфейс RS-485 по протоколу Modbus RTU. Опрашиваются регистры. . .
Hyper-V: Компьютер должен поддерживать доверенный платформенный модуль 2.0.
Maks 31.08.2026
При установке Windows 11 на виртуальную машину Hyper-V 2-го поколения вылезла такая ошибка: Решение: в параметрах виртуальной машины, в разделе "Безопасность" (Security) активировать флаг. . .
Архитектура биовида Стива в Майнкрафте: Зачем бонобо кубический каннибализм
anaschu 30.08.2026
Кубический Вагинокапитализм в Minecraft: Математический инвариант ОДУ и рок Стивов-бонобо Главная задача разработанной «Модели Всего» — наглядно продемонстрировать наличие системной «судьбы». . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru