Excelの左から右に並んだセルの中身を一気に逆順(右から左)にして貼り付ける方法を教えてください。

回答の条件
  • URL必須
  • 1人2回まで
  • 登録:
  • 終了:--
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答4件)

id:garyo No.1

回答回数1782ベストアンサー獲得回数96

ポイント10pt

URLはマクロです。

手動でやるときはセルの下に連番1,2,3,..を入れて2つのセルを選択して連番の所を降順にソートして後で削除すればいいと思います。

↓2行選択して下の行でソート

A B C D D C B A

1 2 3 4 4 3 2 1

id:sasa333

マクロもシートが1枚もしくは複数枚同じような中身だといいですよね。でも、これだと結局全部の中身を確認することになるので、手間は普通にカット&ペーストするのと変わらなくなると思います・・・・

2004/08/09 16:59:41
id:cx20 No.2

回答回数607ベストアンサー獲得回数108

ポイント15pt

URL はダミーです。

一気というわけではありませんが、

このような方法はいかがでしょうか?

1. 先頭行に「1, 2, 3」のように番号を挿入

a,d,g

b,e,h

c,f,i

 ↓

1,2,3

a,d,g

b,e,h

c,f,i

2. 全コピーして [形式を指定して貼り付け] - [行列を入れ替える] にて貼り付け。

1,a,b,c

2,d,e,f

3,g,h,i

3. 1列目で逆順にソートを行う。

3,g,h,i

2,d,e,f

1,a,b,c

4. 全コピーして [形式を指定して貼り付け] - [行列を入れ替える] にて貼り付け。

3,2,1

g,d,a

h,e,b

i,f,c

5. 1行目を削除。

g,d,a

h,e,b

i,f,c

id:sasa333

行列を入れ替える、という機能ですね。コレがあるということは・・・・左右入れ替えるってこともあるはず・・・・という淡い期待なのです。(中身の属性を参照するマクロではなく。単純にA列からたとえばBZ列までの右〜左の並びを左〜右に入れ替えるという。)ということで、、、データ数が少なければ毎回ご指摘のやり方をするのもひとつの案だと思うのですが。やっぱりVB組まなきゃダメでしょうか。

2004/08/09 17:01:37
id:taknt No.3

回答回数13539ベストアンサー獲得回数1198

ポイント20pt

マクロでするなら 以下のようにすればいいだけです。機能としては みかけたことがないですね。

Sub Macro1()

’ Macro1 Macro

’ マクロ記録日 : 2004/8/9

’ Keyboard Shortcut: Ctrl+q

Dim a As Integer

Dim b As Integer

Dim c As String

b = 78

For a = 1 To 36

c = Cells(1, a)

Cells(1, a) = Cells(1, b)

Cells(1, b) = c

b = b - 1

Next a

End Sub

A列の1行目から BZ列の1行目までです。

id:sasa333

ありがとうございます。やってみます。

2004/08/09 17:40:05
id:garyo No.4

回答回数1782ベストアンサー獲得回数96

ポイント35pt

http://www.vector.co.jp/

Vector:ソフトウェア・ライブラリ&PCショップ

URLはダミーです。マクロにしてみました。

※全角は半角に直してください。

Sub Macro1()

Dim y As Integer, x1 As Integer, y1 As Integer, i As Integer, c As Integer

y = InputBox(”入れ替える行は?”)

If y > 0 Then

x1 = InputBox(”入れ替え開始列は?”)

If x1 > 0 Then

x2 = InputBox(”入れ替え終了列は?”)

If x2 > 0 Then

For i = 0 To Int((x2 - x1) / 2) - 1

c = Cells(y, x2 - i)

Cells(y, x2 - i) = Cells(y, x1 + i)

Cells(y, x1 + i) = c

Next i

MsgBox (”終了しました”)

End If

End If

End If

End Sub

id:sasa333

ありがとうございます。やってみます。

2004/08/09 17:40:25
  • id:cx20
    キーボードショートカットで左右の入れ替えを行う方法

    今さらですが・・・。

    一応、Excel 2002 のマニュアルに、列の並び替えのやり方が載っていました。
    ----------------------------------------------------------------------
    [Microsoft Excel のヘルプ]
     +[ワークシートのデータ]
      +[データの抽出と並べ替え]
       +[データの並び替え]
        +[リストを並び替える]

    通常は行を並べ替えますが、次の手順を実行して、列を並べ替えることができます。

    1. 並べ替えるリストのセルを 1 つクリックします。
    2. [データ] メニューの [並べ替え] をクリックします。
    3. [オプション] をクリックします。
    4. [方向] の [列単位] をクリックし、[OK] をクリックします。
    5. [最優先されるキー] と [2 番目に優先されるキー] ボックスで、並べ替えのキーとなる行をクリックします。
    ----------------------------------------------------------------------

    これを元に、キーボードショートカットだけで、実行しようとすると、

    ----------------------------------------------------------------------
    <キーボードショートカットで左右の入れ替えを行う方法>
    1. 先頭行にフォーカスを移動
      [Ctrl] + [Home]
    2. 先頭行に行を追加
      [Alt] + [I]、[R]
    3. A1 に初期値として「1」を入力。

      1,,
      a,d,g
      b,e,h
      c,f,i

    4. 全選択を行う
      [Ctrl] + [Shift] + [*]
    5. 連続データ作成ダイアログを表示
      [Alt] + [E]、[I]、[S]
    6. 連続データ作成ダイアログで、以下の設定で [OK] ボタンを押下
      範囲:行、種類:加算、増分値:1

      1,2,3
      a,d,g
      b,e,h
      c,f,i

    7. 並び替えダイアログを表示
      [Alt] + [D]、[S]
    8. 並び替えダイアログで、以下の設定で [OK] ボタンを押下
      オプションボタン → 方向:列単位
      最優先されるキー:行1、降順
      → これで左右の列が入れ替わります。

      3,2,1
      g,d,a
      h,e,b
      i,f,c

    9. 後始末として、先頭行を削除。
      [Ctrl] + [Home](先頭行に移動)
      [Shift] + [Space](行選択)
      [Shift] + [F10]、[D](行削除)

      g,d,a
      h,e,b
      i,f,c
    ----------------------------------------------------------------------

    と、なります。ながっ(^^A

    そういえば、garyo さんの1番目のやり方(行選択してソート)は、
    マクロを使ったやり方なのでしょうか?
    自分のところで、やろうとしたら、行選択ではソートできないようでした。
    (行選択しても縦方向にしかソートが機能しない?)

    うーん・・・。
  • id:garyo
    Re:キーボードショートカットで左右の入れ替えを行う方法

    少し説明があったほうが良かったかも知れませんね(^^)

    1)2行選択する。
    2)「範囲の先頭行」で「データ」にチェック
    3)「データ」−「並べ替え」−「オプション」
     で「方向」の「列単位」にチェック
    4)「最優先されるキー」で数字の入った行を選ぶ
    5)4)の横の「降順」にチェック
    6)「OK」を押す。

    これでできます。
  • id:cx20
    Re(2):キーボードショートカットで左右の入れ替えを行う方法

    >1)2行選択する。
    >2)「範囲の先頭行」で「データ」にチェック
    >3)「データ」−「並べ替え」−「オプション」
    > で「方向」の「列単位」にチェック
    >4)「最優先されるキー」で数字の入った行を選ぶ
    >5)4)の横の「降順」にチェック
    >6)「OK」を押す。

    なるほど。了解です。

    ツールボタンの「昇順で並べ替え」「降順の並び替え」ボタンを
    クリックしてもうまく機能しないようなので、なんでだろう?と
    思ってました(^^A

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません