powered by simpleCommunicator - 2.0.56     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Exsel макрос Копировать>>Вставить
10 сообщений из 10, страница 1 из 1
Exsel макрос Копировать>>Вставить
    #32758818
Фотография Ирча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасите крыша едет!
Есть таблица, содержит 388 строк
Задача после каждой строки вставить девять строк
Код: plaintext
1.
2.
3.
 Rows("3:11").Select
    Selection.Copy
    Rows("13:13").Select
    Selection.Insert Shift:=xlDown
Вот так я это делаю один раз
Проблема
как мне автоматически выделить
Rows("?:?").Select
то, есть выделить строку, на две позиции ниже, чем выделенный блок
...
Рейтинг: 0 / 0
Exsel макрос Копировать>>Вставить
    #32759094
Фотография funddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
multiple select сделать, что ли?

Rows("13:13,15:15").Select

диапазоны через запятую, вопщем
...
Рейтинг: 0 / 0
Exsel макрос Копировать>>Вставить
    #32759113
Фотография funddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
for i= 1  to  388  step  2 
  str=str + CStr(i) & ":" & CStr & ","
next i
str=left(str,len(str)- 1 )
Rows(str).Select
и так далее
...
Рейтинг: 0 / 0
Exsel макрос Копировать>>Вставить
    #32759135
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
"вставить с копированием" - примерно так

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
Dim rr As Range
 
  Set rr = ActiveSheet.Rows("9:11")

  rr.Copy
  rr.Offset(rr.Rows.Count,  0 ).Resize( 1 ).Insert xlShiftDown
 
  Application.CutCopyMode = False
...
Рейтинг: 0 / 0
Exsel макрос Копировать>>Вставить
    #32759224
Фотография Ирча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я, наверное, не совсем корректно описала проблему
В принципе вот код, который делает все правильно, но только один раз
цикл сделать не могу( не судите строго)
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
Dim a As Integer
Dim i As Integer
Dim j As Integer
a =  3 
i =  8 
j =  10 
Do While a <  3500 
    Rows(a & ":" & a + i).Select
    Selection.Copy
    Rows(a +  10  & ":" & a + j).Select
    Selection.Insert Shift:=xlDown
    a = a + j
    Exit Do
Loop
Технически, а должно стать 13 и все по новой,
а практически вставляется один раз и останавливается
Хелпь ми плизз!
...
Рейтинг: 0 / 0
Exsel макрос Копировать>>Вставить
    #32759235
Фотография Ирча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ой!
Rows(a + 10 & ":" & a + j).Select
читать как
Rows(a + j & ":" & a + j).Select
...
Рейтинг: 0 / 0
Exsel макрос Копировать>>Вставить
    #32759241
Фотография Victosha
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
1) один раз он работает потому что Exit Do
2) a=a+2i+2 ?
То есть - цикл дело хорошее, когда на следуюшем шаге попадаешь в "нужное место"

(с выражением лица)
...
Рейтинг: 0 / 0
Exsel макрос Копировать>>Вставить
    #32759298
Фотография Ирча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
УРРАА! Заработало!
Большое спасибо!
...
Рейтинг: 0 / 0
Exsel макрос Копировать>>Вставить
    #32759314
Фотография funddd
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а что было то? Exit Do все-таки?
...
Рейтинг: 0 / 0
Exsel макрос Копировать>>Вставить
    #32759453
Фотография Ирча
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да Exit Do
Это называется
А ларчик просто открывался!
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft Office [игнор отключен] [закрыт для гостей] / Exsel макрос Копировать>>Вставить
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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