- 追加された行はこの色です。
- 削除された行はこの色です。
[[練習問題]]~
Excel関数のTRANSPOSEを使ったプログラム。
Sub 転置行列01()
'指定したセル範囲の値の転置行列
Dim a As Variant
Dim b As Variant
Dim c As String
'あらかじめ指定してあるセル範囲を配列にする
a = Selection.Value
'行と列の入れ替え
b = Application.Transpose(a)
b = Application.WorksheetFunction.Transpose(a)
'貼り付けるセルの指定
c = Range("A1")
c = Range("A1").Address
'指定したセルを先頭にして貼り付け
Range(c).Resize(UBound(b, 1), UBound(b, 2)) = b
End Sub
TRANSPOSEを使わないほう。
TRANSPOSEを使わないプログラム。
Sub 転置行列02()
'3行3列の転置行列
Dim a As Variant
Dim i As Integer
Dim j As Integer
a = Range("A1:C3")
'行と列の入れ替え、E1を先頭にして結果を貼り付け
For i = 1 To 3
For j = 1 To 3
Cells(j, i + 4) = a(i, j)
Next
Next
Next
End Sub