Страница 1 из 1
Добавлено: 24 фев 2004, 22:58
Naeel Maqsudov
Если задача разовая, то можно обойтись без VBA
Выделяем диапазон, копируем в буфер
переставляем курсор на новое место
делаем Правка/Специальная вставка и включаем галку "Транспонировать"
Жмем ОК.
Наверняка можно записать макрос макрорекордером
Добавлено: 24 фев 2004, 23:01
Naeel Maqsudov
Ой, извиняюсь, неправильно прочитал вопрос

Завтра напишу макрос....
Добавлено: 25 фев 2004, 11:52
chur
Код: Выделить всё
m = 20 ' количество строк
n = 5 ' количество столбцов
temp = ""
For i = 1 To Int(m / 2)
For k = 1 To n
temp = Cells(i, k)
Cells(i, k) = Cells(m - i + 1, k)
Cells(m - i + 1, k) = temp
Next
Next
Добавлено: 25 фев 2004, 21:29
Naeel Maqsudov
Предлагаю более бысто работающее решение (гораздо).
Переворачивает строки в выделенном диапазоне
Код: Выделить всё
Sub sub1()
Dim v()
For i = 1 To Selection.Rows.Count \ 2
v = Selection.Rows(i).Value
Selection.Rows(i).Value = Selection.Rows(Selection.Rows.Count + 1 - i).Value
Selection.Rows(Selection.Rows.Count + 1 - i).Value = v
Next
End Sub
Используя With можно избавиться от обращений к Selection.Rows и еще чуть-чуть оптимизировать