powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / помогите с циклом
10 сообщений из 10, страница 1 из 1
помогите с циклом
    #34108898
yurikz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как задать цикл чтобы к old_H(и др.) = "L14:M14" увеличивалась на 3 и было
old_H = "L17:M17",old_H = "L20:M20" и тд.
Dim i%
For i = 1 To 10
old_H = "L14:M14" '+ 3
old_D = "L15:M15" '+ 3
old_R = "L16:M16" '+ 3
new_H = "J14:K14" '+ 3
new_D = "L14:M14" '+ 3
new_R = "N14:O14" '+ 3
old_IP = "O14:Q14" '+ 3
new_IP = "P14:R14" '+ 3

Range(old_H).Select
Range(old_H).Cut Destination:=Range(new_H)
Range(old_D).Select
Selection.Cut Destination:=Range(new_D)
Range(old_IP).Select
Range(old_IP).Cut Destination:=Range(new_IP)
Range(old_R).Select
Range(old_R).Cut Destination:=Range(new_R)
Range(new_R).Select

Next
End Sub

заранее спасибо
...
Рейтинг: 0 / 0
помогите с циклом
    #34109091
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
Range("L14:M16").Cut Destination:=Range("L14:M16").Offset( 2 ,  0 )
...
Рейтинг: 0 / 0
помогите с циклом
    #34109588
yurikz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я правильно делаю???

Sub makros11()

old_H = "L14:M14" '+ 3
old_D = "L15:M15" '+ 3
old_R = "L16:M16" '+ 3
new_H = "J14:K14" '+ 3
new_D = "L14:M14" '+ 3
new_R = "N14:O14" '+ 3
old_IP = "O14:Q14" '+ 3
new_IP = "P14:R14" '+ 3

Dim i
For i = 1 To 5
Range(old_H).Select
Range(old_H).Cut Destination:=Range(new_H)
Range(old_D).Select
Selection.Cut Destination:=Range(new_D)
Range(old_IP).Select
Range(old_IP).Cut Destination:=Range(new_IP)
Range(old_R).Select
Range(old_R).Cut Destination:=Range(new_R)
Range(new_R).Select

old_H = Range(old_H).Offset(2, 0)
old_D = Range(old_D).Offset(2, 0)
old_R = Range(old_R).Offset(2, 0)
new_H = Range(new_H).Offset(2, 0)
new_D = Range(new_D).Offset(2, 0)
new_R = Range(new_R).Offset(2, 0)
old_IP = Range(old_IP).Offset(2, 0)
new_IP = Range(new_IP).Offset(2, 0)

Next

End Sub
...
Рейтинг: 0 / 0
помогите с циклом
    #34109815
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
yurikzя правильно делаю???


End Sub
нет
1-е убери
Код: plaintext
    Range(old_H).Select
нет смысла визуализировать процесс (если конечно это не задача)
2-е для того чтобы работать с диапозоном не обязательно переберать его в цикле
т.е. если тебе надо перенести диапозон L14:M16 на три строчки вниз
не надо
Код: plaintext
1.
2.
For i =  14  to  16 
     Range("L" & i ":M" & i).Cut Destination:=Range("L" & i +  3 )
Next
достаточно
Код: plaintext
Range("L14:M16").Cut Destination:=Range("L17")
3-е изучаем св-во offset(x,y) - это сдвиг относительно ячейки
x - по вертикали, y - по горизонтали
т.е.
Код: plaintext
1.
Range("B2").Offset(- 1 ,- 1 ).Select
выделится Range("A1")
пригодится
...
Рейтинг: 0 / 0
помогите с циклом
    #34111213
yurikz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор2-е для того чтобы работать с диапозоном не обязательно переберать его в цикле
т.е. если тебе надо перенести диапозон L14:M16 на три строчки вниз
не надо

Код: plaintext
1.
2.
For i =  14  to  16 
     Range("L" & i ":M" & i).Cut Destination:=Range("L" & i +  3 )
Next


мне нужно перенести диапозон на три строчки вниз не один раз а несколько
тоесть задать цикл
задача такая у меня вот такая таблица
1 4
2 5
3 6
1 4
2 5
3 6
1 4
2 5
3 6

мне нужно все в одну строку
вот так
1 2 3 4 5 6


1 2 3 4 5 6


1 2 3 4 5 6
...
Рейтинг: 0 / 0
помогите с циклом
    #34112814
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
помогите с циклом
    #34112890
yurikz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vkodor
спасибо большое
это именно то что нужно
еще раз спасибо!!!
...
Рейтинг: 0 / 0
помогите с циклом
    #34112938
yurikz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
еще один вопросик)
а можно ли сделать чтобы было так?
...
Рейтинг: 0 / 0
помогите с циклом
    #34113299
vkodor
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
помогите с циклом
    #34113315
yurikz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
спасибо
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Visual Basic [игнор отключен] [закрыт для гостей] / помогите с циклом
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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