解答例/転置行列/Excel VBA
をテンプレートにして作成
[
トップ
] [
新規
|
一覧
|
検索
|
最終更新
|
ヘルプ
|
ログイン
]
開始行:
[[練習問題]]~
Excel関数のTRANSPOSEを使ったプログラム。
Sub 転置行列01()
'指定したセル範囲の値の転置行列
Dim a As Variant
Dim b As Variant
Dim c As String
'あらかじめ指定してあるセル範囲を配列にする
a = Selection.Value
'行と列の入れ替え
b = Application.WorksheetFunction.Transpose(a)
'貼り付けるセルの指定
c = Range("A1").Address
'指定したセルを先頭にして貼り付け
Range(c).Resize(UBound(b, 1), UBound(b, 2)) = b
End Sub
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
End Sub
終了行:
[[練習問題]]~
Excel関数のTRANSPOSEを使ったプログラム。
Sub 転置行列01()
'指定したセル範囲の値の転置行列
Dim a As Variant
Dim b As Variant
Dim c As String
'あらかじめ指定してあるセル範囲を配列にする
a = Selection.Value
'行と列の入れ替え
b = Application.WorksheetFunction.Transpose(a)
'貼り付けるセルの指定
c = Range("A1").Address
'指定したセルを先頭にして貼り付け
Range(c).Resize(UBound(b, 1), UBound(b, 2)) = b
End Sub
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
End Sub
ページ名: