Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогите сократить код / 9 сообщений из 9, страница 1 из 1
21.07.2008, 11:46
    #35441977
фывы
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите сократить код
Светлые головы, как можно сократить програмку?
Дело в том что ее нужно делать очень длинную.
Код: 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.
www= 16 
s= 1 
For a =  1  To www
For b = a +  1  To www
For c = b +  1  To www
For d = c +  1  To www
For e = d +  1  To www
For f = e +  1  To www
For g = f +  1  To www
For h = g +  1  To www
For J = h +  1  To www
For k = J +  1  To www
For l = k +  1  To www
For m = l +  1  To www
For n = m +  1  To www
For o = n +  1  To www
For p = o +  1  To www
For r = p +  1  To www
Cells(s, a) = a
Cells(s, b) = b
Cells(s, c) = c
Cells(s, d) = d
Cells(s, e) = e
Cells(s, f) = f
Cells(s, g) = g
Cells(s, h) = h
Cells(s, J) = J
Cells(s, k) = k
Cells(s, l) = l
Cells(s, m) = m
Cells(s, n) = n
Cells(s, o) = o
Cells(s, p) = p
Cells(s, r) = r
s = s +  1 
Next r
Next p
Next o
Next n
Next m
Next l
Next k
Next J
Next h
Next g
Next f
Next e
Next d
Next c
Next b
Next a
...
Рейтинг: 0 / 0
21.07.2008, 12:04
    #35442032
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите сократить код
Жесть. Судя по результату, это должно быть следующее:
Код: plaintext
1.
2.
For x =  1  to  16 
    Cells( 1 , x) = x
Next
...
Рейтинг: 0 / 0
21.07.2008, 12:13
    #35442054
фывы
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите сократить код
Нее, я так пробовал.
Получается в два раза больше чем нужно.
Вся соль в том что каждый следующий цикл начинается на единицу больше.
А циклов в проге много.
...
Рейтинг: 0 / 0
21.07.2008, 14:01
    #35442420
Grayscale
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите сократить код
Если нужно множество вложенных циклов то рекурсией

Пример
sub cycle(n as long)
for i=n to www
if i>0 then
cycle i-1
end if
next i
end sub
...
Рейтинг: 0 / 0
21.07.2008, 16:47
    #35442933
фывы
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите сократить код
Спасибо, но есть проблемка, скорее всего нубская.
Как только начинается новый cycle, все значения переменных, которые были до этого, сбрасываюся.

Похоже это происходит когда вызывают sub().
Почитал про рекурсию.
Нужная мне вещь.
...
Рейтинг: 0 / 0
21.07.2008, 16:53
    #35442948
фывы
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите сократить код
Еще вопросик.
Что происходит с памятью, когда пишут цикл FOR, она резервируется для переменных или циклы до бесконечности можно задавать?
...
Рейтинг: 0 / 0
21.07.2008, 17:11
    #35442996
Grayscale
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите сократить код
Все переменные объявленные в функции создаются для каждого вхождения... тоесть если нужны общие то их надо вынасить во вне.. а второй вопрос я не оч понял...
...
Рейтинг: 0 / 0
21.07.2008, 17:27
    #35443039
фывы
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите сократить код
А как можно выполнить команды которые "во вне"?
Запускаю макросы со строчки Sub(название макроса), после End Sub все заканчивается.
Или можно запустить по другому?
...
Рейтинг: 0 / 0
21.07.2008, 17:31
    #35443043
Grayscale
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Помогите сократить код
Инструкции только на уровне подпрограммы а переменные можно определять на уровне модуля
...
Рейтинг: 0 / 0
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогите сократить код / 9 сообщений из 9, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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