Почему не работает с тремя переменными?

Программирование на Visual Basic for Applications
Legachoff
Обычный пользователь
Обычный пользователь
 
Сообщения: 75
Зарегистрирован: 14.10.2005 (Пт) 15:09

Почему не работает с тремя переменными?

Сообщение Legachoff » 03.02.2006 (Пт) 11:53

когда убираю "And Cells(p, 2) = "Р" " - работает, а когда есть нет. Вот:

Private Sub OKButton_Click()
Dim r As Variant
Dim k As Variant
Dim p As Variant

For r = 8 To 100
For k = r To 100
For p = k To 100

If А And АА And ААА And Cells(r, 2).Value = "О" And Cells(k, 2) = "ОО" And Cells(p, 2) = "Р" Then Cells(10, 3) = "АОАОАОА"

Exit For

Next p
Next k
Next r

Unload UserForm1
End Sub

Legachoff
Обычный пользователь
Обычный пользователь
 
Сообщения: 75
Зарегистрирован: 14.10.2005 (Пт) 15:09

Пока сам не сделаешь не получиться....

Сообщение Legachoff » 03.02.2006 (Пт) 17:07

Sub h()
Dim r As Variant, k As Variant, p As Variant
For r = 8 To 400
For k = 1 To 400
For p = 1 To 400
Do While Cells(r, 2).Value = "2" And Cells(r + k, 2) = "3" And Cells(r + k + p, 2) = "1"
Rows(r + k + p + 1).Insert Shift:=xlDown
If Cells(r + k + p + 1, 2) = "" Then Exit Sub
Loop
Exit For
Next p
Next k
Next r
End Sub


:lol:

Legachoff
Обычный пользователь
Обычный пользователь
 
Сообщения: 75
Зарегистрирован: 14.10.2005 (Пт) 15:09

Последняя версия...

Сообщение Legachoff » 03.02.2006 (Пт) 18:35

Sub dobavlenie()
Dim r As Variant, k As Variant, p As Variant
For r = 8 To 400
For k = 1 To 400

If Cells(r, 2).Value = "Ãðèâíÿ" And Cells(k, 2) = "ÌÁÊ" Then GoTo 1:
Next k
Next r

1: For p = 1 To 400
Do While Cells(p, 2) = "1"
Rows(p + 1).Insert Shift:=xlDown
If Cells(p + 1, 2) = "" Then Exit Sub
Loop
Next p
End Sub

sergeyvg
Начинающий
Начинающий
 
Сообщения: 15
Зарегистрирован: 16.08.2005 (Вт) 9:27

Сообщение sergeyvg » 04.02.2006 (Сб) 9:00

этот код не будет работать из-за того, что при первом p=k, проверяется одна и таже ячейка, естественно она не может одновременно содержать и "ОО" и "Р"
Код: Выделить всё
Cells(k, 2) = "ОО" And Cells(p, 2) = "Р"

ну а далее по
Код: Выделить всё
Exit For

вы прекращаете цикл по p и естественно ничего не происходит

Legachoff
Обычный пользователь
Обычный пользователь
 
Сообщения: 75
Зарегистрирован: 14.10.2005 (Пт) 15:09

Сообщение Legachoff » 06.02.2006 (Пн) 10:29

Private Sub OKButton_Click()
Dim r As Variant, k As Variant, p As Variant
For r = 8 To 400
For k = 1 To 400

If Cells(r, 2).Value = "Ãðèâíÿ" And Cells(k, 2) = "ÌÁÊ" Then GoTo 1:
Next k
Next r

1: For p = 1 To 400
Do While Cells(p, 2) = "4"
Rows(p + 1).Insert Shift:=xlDown
Cells(p + 1, 2) = ê볺íò
Unload UserForm1
If Cells(p + 1, 2) <> "" Then Exit Sub
Loop
Next p

End Sub


Вернуться в VBA

Кто сейчас на конференции

Сейчас этот форум просматривают: Google-бот и гости: 99

    TopList