• 締切済み

列と行の入れ替え

エクセルで列と行を入れ替えたいのですが、かなり膨大なデータ 量のためアクセスでユニオンクエリを作成したのですが、 いくつもクエリを作成しなけらばいけなのでかなり面倒です。 VBAで一発ではできないでしょうか?

みんなの回答

noname#194317
noname#194317
回答No.3

おせっかいかもしれませんが、極めて根本的な問題があります。 エクセルでは、256列を超えるデータは扱えません。近々出るであろう最新バージョンでも、16384列までしか扱えないはずです。 なので、仮にそのデータをcsvに落として、外部の別ソフトで行列転置をやれたとしても、相手が4万行を超す大物なら、エクセルでは読めないデータができあがっておしまい…という悲しい結末になるのでは? なので、何とかエクセルで扱える列数になるよう、データを256行ごとに分割するとか、行列転置しないで処理する方法を考えるという逃げも、検討しなければならないかも知れません。

  • soaikats
  • ベストアンサー率58% (14/24)
回答No.2

ではVBAを使った例を。 Sheet1の10行20列の値をSheet2の20行10列に セットする処理例です。 Sub IREKAE()  Dim intI As Integer  Dim intJ As Integer  For intI = 1 To 20  For intJ = 1 To 10   Sheers("Sheet2").Cells(intJ, intI).Value = _    Sheers("Sheet1").Cells(intI, intJ).Value = _  Next IntJ  Next IntI End Sub

maki06
質問者

補足

おお!すばらしい! エクセルで実行してみました。 ありがとございます。 ただ、今回データ量が行で4万件以上あるので 小分けに実行しているわけにもいかないので アクセスにおとし、できるだけ簡単に処理をしたいのですが 、このプログラムをアクセスで修正し使用できますでしょうか?

  • soaikats
  • ベストアンサー率58% (14/24)
回答No.1

行と列を入れ替える機能はExcelの機能にあるようです。 Excelのバージョン次第ではわかりませんが。 1.コピーしたい箇所をコピー 2.貼り付けしたいセルで右クリックして 「形式を選択して貼り付け」 3.表示されたメニュー下部の「行と列を入れ替える」に チェックして「OK」を押す。 この方法をお試しください。

maki06
質問者

補足

データ量が多いので、その機能が使えずユニオンクエリを 作成したんですよ。。。 ごめんなさい。説明不足でしたね。 回答ありがとうございます。

関連するQ&A