LNamaeTableは、単一行の場合と複数行の場合があります。 今使っている力技のコードは、次のようなものです。 Function Transpose(SouceDt As DataTable) As DataTable Dim ReturnDt As New DataTable 'Rowsの数だけColumnを追加する For Each Column As DataRow In SouceDt.Rows ReturnDt.Columns.Add("Column" + SouceDt.Rows.IndexOf(Column).ToString) Next '単純にループで入れ替える For ColumnsCount As Integer = 0 To SouceDt.Columns.Count - 1 ReturnDt.Rows.Add(ReturnDt.NewRow) For RowsCount As Integer = 0 To SouceDt.Rows.Count - 1 ReturnDt.Rows(ColumnsCount).Item(RowsCount) = SouceDt.Rows(RowsCount).Item(ColumnsCount) Next Next Return ReturnDt End Function