Страницы: 1
RSS
Построчное копирование и создание нового массива
 
Добрый день
Имеется массив строк (Q202:Z...). Строку (Q202:Z202) копируем в (E200:N200). Строку (E190:AO190) копируем в
(AD202:BM202) - первую строку нового массива. Далее берем следующую строку (Q203:Z203) и так далее построчно.
Строки  E200 и  E190 связаны формулами. Таким образом выполняем 2 обратные операции: из массива строки копируем
в одну и ту же, а затем из одной строки создаем другой массив строк. Для двух строк рекордером я записал макрос, но от этого
понятнее, как можно использовать оператор "For...Next, не стало. Бьюсь уже двое суток. Помогите, пожалуйста.
Код
Sub Project()
'
    Range("Q202:Z202".Select
    Selection.Copy
    Range("E200".Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E190:AN190".Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AD202".Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("Q203:Z203".Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("E200".Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
    Range("E190:AN190".Select
    Application.CutCopyMode = False
    Selection.Copy
    Range("AD203".Select
    Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
        :=False, Transpose:=False
End Sub
 
макрорекодер не должен и не будет писать циклы и условия.
если потратить те же двое суток на чтение справки по операторам VBA или любой книжки по языку - то можно их прочитать раз двести.
но обычно доходит с первого-третьего раза.
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
и, кстати, Ваши цели не оч.понятны без примера.
Цитата
Таким образом выполняем 2 обратные операции: из массива строки копируем
в одну и ту же, а затем из одной строки создаем другой массив строк.
а из массива в массив сразу нельзя?
одной командой?
фрилансер Excel, VBA - контакты в профиле
"Совершенствоваться не обязательно. Выживание — дело добровольное." Э.Деминг
 
Если бы еще знать как... Попробую
Из массива в массив сразу нельзя т.к в начальном массиве в ячейках - цифры, а в конечном - цифры.
А по поводу изучения VBA, вряд ли кому хватит 2 дня , чтобы самостоятельно написать программу. И вопросы здесь
задают люди, которые не знают, как делать у тех, кто знает. Или это не так?

Код
Sub Project() 
' 
Range("Q202:Z202").Select 
Selection.Copy 
Range("E200").Select 
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
:=False, Transpose:=False 
Range("E190:AN190").Select 
Application.CutCopyMode = False 
Selection.Copy 
Range("AD202").Select 
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
:=False, Transpose:=False 
Range("Q203:Z203").Select 
Application.CutCopyMode = False 
Selection.Copy 
Range("E200").Select 
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
:=False, Transpose:=False 
Range("E190:AN190").Select 
Application.CutCopyMode = False 
Selection.Copy 
Range("AD203").Select 
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _ 
:=False, Transpose:=False 
End Sub
 
 
Поправка. В первом массиве - цифры, во втором - числа.
Файл не прикладывал, в начальный момент там массив и две строки, в окончательном виде - то же самое + массив. Колонки и строки указаны
Страницы: 1
Наверх