powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Find в VBA
4 сообщений из 4, страница 1 из 1
Find в VBA
    #34314627
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подскажите пожалуйста.
У меня есть расчёт в который по очереди хочу вставлять по 1 строчке исходных данных.
После чего необходимо проверить массив выходных данных на отсутствие отрицательных значений.
Если после вставки строчки в выходных данных появилось отрицательное значение, то остановиться, если нет, то продолжить.
Как написать проверку отрицательных значений и действия после проверки.

А вообще может есть способ проще поэтапной проверки влияния?
...
Рейтинг: 0 / 0
Find в VBA
    #34314680
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Думаю сделать по простому. Сделать ячейку, в которой считаются отрицательные значения и проверять после каждой итерации?
...
Рейтинг: 0 / 0
Find в VBA
    #34314760
Deggasad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
Sub ()

'

For n =  11  To  210 

    Sheets("test_2").Select
    Range(Cells(n,  1 ), Cells(n,  9 )).Select
    Selection.Copy
          
     Sheets("test").Select
    Range(Cells(n,  1 ), Cells(n,  9 )).Select
     Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
   sad = Cells( 2 ,  2 ).Value

 If sad >  0  Then Exit Sub
 
 Next n
End Sub


Пока так получается, если кто подскажет что-нибуть лучше буду рад!
И ещё пересчёт очень медленный на одну строчку уходит секунд 20, никаких советов не дадите как ускорить!
...
Рейтинг: 0 / 0
Find в VBA
    #34314832
vbapro
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
если можно копировать не только значения, то ускорить можно так
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
Sub ()
For n =  11  To  210 

    Sheets("test_2").Range(Cells(n,  1 ), Cells(n,  9 )).Copy Destination:=Sheets("test").Range(Cells(n,  1 ), Cells(n,  9 ))
    
    sad = Sheets("test").Cells( 2 ,  2 ).Value
    
    If sad >  0  Then Exit Sub
Next n
End Sub
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Find в VBA
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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