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

А вообще может есть способ проще поэтапной проверки влияния?
...
Рейтинг: 0 / 0
08.02.2007, 09:27:31
    #34314680
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Find в VBA
Думаю сделать по простому. Сделать ячейку, в которой считаются отрицательные значения и проверять после каждой итерации?
...
Рейтинг: 0 / 0
08.02.2007, 09:54:40
    #34314760
Deggasad
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Find в VBA
Код: 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
08.02.2007, 10:17:14
    #34314832
vbapro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Find в VBA
если можно копировать не только значения, то ускорить можно так
Код: 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
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Find в VBA / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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