- 締切済み
列と行の入れ替え
エクセルで列と行を入れ替えたいのですが、かなり膨大なデータ 量のためアクセスでユニオンクエリを作成したのですが、 いくつもクエリを作成しなけらばいけなのでかなり面倒です。 VBAで一発ではできないでしょうか?
- みんなの回答 (3)
- 専門家の回答
みんなの回答
おせっかいかもしれませんが、極めて根本的な問題があります。 エクセルでは、256列を超えるデータは扱えません。近々出るであろう最新バージョンでも、16384列までしか扱えないはずです。 なので、仮にそのデータをcsvに落として、外部の別ソフトで行列転置をやれたとしても、相手が4万行を超す大物なら、エクセルでは読めないデータができあがっておしまい…という悲しい結末になるのでは? なので、何とかエクセルで扱える列数になるよう、データを256行ごとに分割するとか、行列転置しないで処理する方法を考えるという逃げも、検討しなければならないかも知れません。
- soaikats
- ベストアンサー率58% (14/24)
では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
- soaikats
- ベストアンサー率58% (14/24)
行と列を入れ替える機能はExcelの機能にあるようです。 Excelのバージョン次第ではわかりませんが。 1.コピーしたい箇所をコピー 2.貼り付けしたいセルで右クリックして 「形式を選択して貼り付け」 3.表示されたメニュー下部の「行と列を入れ替える」に チェックして「OK」を押す。 この方法をお試しください。
補足
データ量が多いので、その機能が使えずユニオンクエリを 作成したんですよ。。。 ごめんなさい。説明不足でしたね。 回答ありがとうございます。
補足
おお!すばらしい! エクセルで実行してみました。 ありがとございます。 ただ、今回データ量が行で4万件以上あるので 小分けに実行しているわけにもいかないので アクセスにおとし、できるだけ簡単に処理をしたいのですが 、このプログラムをアクセスで修正し使用できますでしょうか?