Консультация № 99362
23.08.2007, 09:16
0.00 руб.
0 3 3
Здравствуйте господа, я в VB новичок, так что не смейтесь.
Подскажите в чем проблема:
1) пишет type mismach - но оно понятно (текст+число), но если через рипит(2), то работает.
2) да и то уже не работает, пишет процедура не определена!

В чем дело???

Заранее благодарен.

Приложение:
1) For i = 1 To 30 Range("A1" + i).Select ActiveCell.FormulaR1C1 = i Next i2) Repeat i = i + 1 Range("A1" + i).Select ActiveCell.FormulaR1C1 = i While i < 30

Обсуждение

Неизвестный
23.08.2007, 10:21
общий
это ответ
Здравствуйте, DaLi_Bor!

Связка "Repeat ... Until" - это в Паскале...
В VB "do ... loop" "while ... wend"

Синтаксис:

Do [{While | Until} condition]
[statements]
[Exit Do]
[statements]
Loop

ИЛИ так

Do
[statements]
[Exit Do]
[statements]
Loop [{While | Until} condition]


Приложение:
1) For i = 1 To 30 Range("A1" + cstr(i)).Select ActiveCell.FormulaR1C1 = i Next i2) do While i < 30 i = i + 1 Range("A1" + cstr(i)).Select ActiveCell.FormulaR1C1 = i loop
Неизвестный
23.08.2007, 17:27
общий
это ответ
Здравствуйте, DaLi_Bor!
дело в том, что вы неправильно обращаетесь к ячейке, для того чтоб выделить ячейку А1 используйте запись Cells (1,1).select. и тогда все у Вас получится, я изменила код в вашем проложении, попробуйте.

Приложение:
For i = 1 To 30 Cells(1,1 + i).Select ActiveCell.FormulaR1C1 = i Next i2) Repeat i = i + 1 Cells(1,1 + i).Select ActiveCell.FormulaR1C1 = i While i < 30
Неизвестный
24.08.2007, 19:38
общий
это ответ
Здравствуйте, DaLi_Bor!
Вот тка должно быть:

1) For i = 1 To 30
Range("A" & i).Select
ActiveCell.FormulaR1C1 = i
Next i

2) Repeat
i = i + 1
Range("A" & i).Select
ActiveCell.FormulaR1C1 = i
While i < 30
Форма ответа