powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / Помогите сократить код
9 сообщений из 9, страница 1 из 1
Помогите сократить код
    #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
Помогите сократить код
    #35442032
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жесть. Судя по результату, это должно быть следующее:
Код: plaintext
1.
2.
For x =  1  to  16 
    Cells( 1 , x) = x
Next
...
Рейтинг: 0 / 0
Помогите сократить код
    #35442054
фывы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нее, я так пробовал.
Получается в два раза больше чем нужно.
Вся соль в том что каждый следующий цикл начинается на единицу больше.
А циклов в проге много.
...
Рейтинг: 0 / 0
Помогите сократить код
    #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
Помогите сократить код
    #35442933
фывы
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, но есть проблемка, скорее всего нубская.
Как только начинается новый cycle, все значения переменных, которые были до этого, сбрасываюся.

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


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