Visual Basic & Excel
Выдели область скопируй, а потом, вставка - специальная - там галочка есть нужная
В экселе VBA для транспонирования не нужен. Выделяешь нужные тебе ячейки, копируешь в буфер и делаешь специальную вставку (Context menu-> Paste special...->Transpose)
Dim r2 As Integer, c2 As Integer
Dim j As Integer, k As Integer
Set wh = Worksheers ("лист2")
r1 = 3
c1 = 5
n = 4
m = 3
r2 = 12
c2 = 8
For j = 1 To n
For k = 1 To m
wh.Cells(r2 + j - 1, c2 + k -1).Value = whCells(r1 + j -1, c1 + k -1).Value
Next k
Next j
End Sub
Или сделать прогонку по i=1,2,3,..,n j=1,2,..,i-1 и выполнить a = Ar[i,j] Ar[i,j]=Ar[j,i] Ar[j,i]=a.
Ну мне вариант в таком виде нужен как я написал, только логика для обмена относительно диоганали. Я думаю преподу непонравиться если явно указать ячейки кто с кем меняться должен
Оставить комментарий
achilova15
Народ. Кто знает как написать пргогу которая переставляет местами все элементы относительно диогонали в матрице:1 2 3
4 5 6
7 8 9
Это означает что ВБ должен поменять ячейки 2 и 4, 3 и 7, 8 и 6
Нужна сама идея и логика! Подскажите плз!