重要なお知らせ

「教えて! goo」は2025年9月17日(水)をもちまして、サービスを終了いたします。詳細はこちら>

【GOLF me!】初月無料お試し

EXCELシート上で、セルを範囲指定してコピー後に、コピー先のセル上で[形式を指定して貼り付け]を選択し、画面上の[行列を入れ替える]のチェックボックスに印を入れて実行すると、行と列が入れ替わった表が貼り付けられますよね。

このような操作を何回も繰り返す必要があるのですが、VBAを用いたコードではどう表記すればよいでしょうか。


ちなみに、「元の表と行列を入れ替えて実行したいシートは別になっています」、「実行したいのは表の一部」

例)(EXCEL上で次のように並んでいます)
【sheet1での並び方】
… 氏名1 住所1 電話1 …(抜き出したいのは氏名から全部で12項目)

… 氏名2 住所2 電話2 …
      ・
      ・
(数百つづく)

【sheet2に表記したい並べ方】
… 氏名1
… 住所1
… 電話1
  ・
  ・

… 氏名2
… 住所2
… 電話2
   ・
   ・
(上記のようなセルデータが数百つづく)


何か方法がありましたら、お教え願います。
どうぞ宜しくお願いいたします。

A 回答 (3件)

あれ?


データ行が数百あるのなら繰り返し回数って数百ではないの?
数百×12項目ってどんな物になるのかと多少興味はあるけど。
    • good
    • 0

こんにちは



>何か方法がありましたら、お教え願います
コピー元とコピー先に何らかの論理的関連性があるなら(○行おきなどのような)、マクロを利用するのが簡単だと思いますが、そのような関連性が無い場合はマクロ化してもたいして速度アップにはならないでしょう。

関連性がある場合は、一回分の操作をマクロの記録を利用して記録し、「コピー元」と「コピー先」に該当するセルアドレスを順次変更するようなループに修正することで可能と考えられます。

関連性がまったくないような場合は、ショートカットなどを利用して操作を少しでも早く簡単にできるようにして、手作業で行うのが却って速いと思います。
>セルデータが数百つづく
12項目とのことですので、せいぜい50回の繰り返しで終わると思いますので、30分程度もあれば十分に終えられる作業と思います。
    • good
    • 0

方法は既に書かれているような内容だと思いますよ。


あとは『どのセル範囲』を『どこに貼り付けたい』と言う情報が必要かと。
特に貼り付けるシートの例として『とある列』を示しているようですが、その左側はどうなっているのでしょうか?
見た感じではA列に貼り付ける訳ではないようですが・・・・?
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!