powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Медленная работа кода
7 сообщений из 7, страница 1 из 1
Медленная работа кода
    #37031344
SanSagittarius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ребята, подскажите, в чем может быть причина того, что на первом листе Excel код VBA выполняется вполне быстро, а на втором даже визуально видно, что медленно и грузится проц. Код этих макросов практически одинаковый, за исключением названий листов. Не пойму - из-за чего такое может происходить... ((
...
Рейтинг: 0 / 0
Медленная работа кода
    #37031360
George Ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Может быть на втором листе формулы, которые пересчитываются при работе макроса.
Либо во втором макросе цикл какой-нибудь зависший.
Выложите сюда файл. С конкретным примером легче разобраться.
...
Рейтинг: 0 / 0
Медленная работа кода
    #37031384
Фотография Shamanus
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SanSagittariusРебята, подскажите, в чем может быть причина того, что на первом ой листе Excel загородной трассе код VBA машина выполняется движется вполне быстро, а на втором даже визуально видно, что медленно и грузится проц гудит двигатель . Код Марка этих макросов машин практически одинаковый a , за исключением названий листов трасс . Не пойму - из-за чего такое может происходить... ((

поправил,
я не стебусь, просто штатный экстрасенс правда в отпуске
...
Рейтинг: 0 / 0
Медленная работа кода
    #37031530
SanSagittarius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Shamanus,

Спасибо, рассмешили! ))) Свою ошибку понял - код выложу.
...
Рейтинг: 0 / 0
Медленная работа кода
    #37031618
SanSagittarius
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
George Ru,

Этот код работает быстро:

Код: plaintext
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.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
Sub ELBACount()
Set WB = Application.ThisWorkbook
Set WS = WB.Worksheets("ELBACount")

WS.Range(WS.Cells( 3 ,  5 ), WS.Cells( 3 ,  40 )) =  0 

CurRowBig =  3 

For i =  1  To  50 

    With Worksheets( 1 ).Range("A1:A50")
    
TempVip = Cells(CurRowBig,  1 ).Value
    
Set c = .Find(TempVip, , , xlWhole)
'Set c = .Find(TempVip, LookIn:=xlValues)
    If Not c Is Nothing Then
        firstAddress = c.Address
        Do
            vipiska = Cells(CurRowBig,  1 ).Value
            SumVip = Cells(CurRowBig,  2 ).Value
                VipList
        Loop While Not c Is Nothing And c.Address <> firstAddress
    End If
        
    End With
    CurRowBig = CurRowBig +  1 
Next i

'Cells(3, 41).Value = Date

    With WS.Range("E1:AZ1")
        TempDate = "Дата"
        Set c = .Find(TempDate, , , xlWhole) '
        'Set c = .Find(TempVip, LookIn:=xlValues)
        If Not c Is Nothing Then
            firstAddress = c.Address
            Do
                 Cells(c.Row +  2 , c.Column).Value = Date
            Loop While Not c Is Nothing And c.Address <> firstAddress
        End If
    
    End With

End Sub


Function VipList()
With Worksheets( 1 ).Range("E1:AZ1")
    Set c = .Find(vipiska, , , xlWhole)
    If Not c Is Nothing Then
        firstAddress = c.Address
        'firstAddressDop = Cells(c.Row + 1, c.Column).Address
        Do
            Cells(c.Row +  2 , c.Column).Value = SumVip
            Set c = .FindNext(c)
        Loop While Not c Is Nothing And c.Address <> firstAddress
    End If
End With
End Function


Этот код почему-то тормозит:

Код: plaintext
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.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
Sub LoadCount()

Dim WB As Workbook
Dim WS As Worksheet

Dim i, c, CurRowBig, TempVip, firstAddress, TempDate

Set WB = Application.ThisWorkbook
Set WS = WB.Worksheets("LoadCount")

WS.Range(WS.Cells( 3 ,  5 ), WS.Cells( 3 ,  50 )) =  0  ' 

CurRowBig =  3 

For i =  1  To  50 

    With Worksheets("LoadCount").Range("A1:A50")
        TempVip = Cells(CurRowBig,  1 ).Value
    
        Set c = .Find(TempVip, , , xlWhole)
         'Set c = .Find(TempVip, LookIn:=xlValues)
        If Not c Is Nothing Then
            firstAddress = c.Address
            Do
                vipiska = Cells(CurRowBig,  1 ).Value
                SumVip = Cells(CurRowBig,  2 ).Value
                    VipLoadCount
            Loop While Not c Is Nothing And c.Address <> firstAddress
        End If
        
    End With
    CurRowBig = CurRowBig +  1 
Next i

'Cells(3, 41).Value = Date ' 

    With WS.Range("E1:AZ1")
        TempDate = "Дата"
        Set c = .Find(TempDate, , , xlWhole) '
        'Set c = .Find(TempVip, LookIn:=xlValues)
        If Not c Is Nothing Then
            firstAddress = c.Address
            Do
                 Cells(c.Row +  2 , c.Column).Value = Date
            Loop While Not c Is Nothing And c.Address <> firstAddress
        End If
    
    End With

End Sub

Function VipLoadCount()

Dim c, firstAddress

With Worksheets("LoadCount").Range("E1:AZ1")
    Set c = .Find(vipiska, , , xlWhole)
    If Not c Is Nothing Then
        firstAddress = c.Address
        'firstAddressDop = Cells(c.Row + 1, c.Column).Address
        Do
            Cells(c.Row +  2 , c.Column).Value = SumVip
            Set c = .FindNext(c)
        Loop While Not c Is Nothing And c.Address <> firstAddress
        
    End If
End With
End Function


Где я допустил ошибку?
...
Рейтинг: 0 / 0
Медленная работа кода
    #37031752
George Ru
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Это типа ребус Найдите 5 отличий? ;)
...
Рейтинг: 0 / 0
Медленная работа кода
    #37031870
Фотография ПЕНСИОНЕРКА
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
SanSagittarius,

нормаЭтот код почему-то тормозит: wSub ELBACount()Sub LoadCount() wSet WB = Application.ThisWorkbookSet WB = Application.ThisWorkbookwSet WS = WB.Worksheets("ELBACount")Set WS = WB.Worksheets("LoadCount") wWS.Range(WS.Cells(3, 5), WS.Cells(3, 40)) = 0WS.Range(WS.Cells(3, 5), WS.Cells(3, 50)) = 0 ' w With Worksheets(1).Range("A1:A50") With Worksheets("LoadCount").Range("A1:A50") TempVip = Cells(CurRowBig, 1).Value TempVip = Cells(CurRowBig, 1).Value Set c = .Find(TempVip, , , xlWhole) Set c = .Find(TempVip, , , xlWhole)w vipiska = Cells(CurRowBig, 1).Value vipiska = Cells(CurRowBig, 1).Valueа1 SumVip = Cells(CurRowBig, 2).Value SumVip = Cells(CurRowBig, 2).Valuea2 VipList VipLoadCounta3With WS.Range("E1:AZ1") With WS.Range("E1:AZ1")w Set c = .Find(TempDate, , , xlWhole) ' Set c = .Find(TempDate, , , xlWhole) 'w Cells(c.Row + 2, c.Column).Value = Date Cells(c.Row + 2, c.Column).Value = Datew wEnd Sub End Sub wwFunction VipList()Function VipLoadCount()wWith Worksheets(1).Range("E1:AZ1")With Worksheets("LoadCount").Range("E1:AZ1") Set c = .Find(vipiska, , , xlWhole) Set c = .Find(vipiska, , , xlWhole)w Cells(c.Row + 2, c.Column).Value = SumVip Cells(c.Row + 2, c.Column).Value = SumVip Set c = .FindNext(c) Set c = .FindNext(c)wEnd Function End Functionw
-строкам без пометки не доверяю-не ясен лист
-переменные с пометкой а1 и а2 не известны в а3
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Медленная работа кода
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]