[[20180601165123]] 『Cut,Insert等を使わない行の入替え』(ie) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『Cut,Insert等を使わない行の入替え』(ie)

行の入替えを行うマクロを作成したいと思っています。

現在、別のシートで入替えを行うセルを参照した数式を用いており、行の切り取りや切り取った行の挿入等をしてしまうと数式の参照セルが変わってしまうため、参照セルを変えずに行の入替えが出来る方法を探しています。

可能であれば「▲」「▼」を表示したコマンドボタンにマクロを登録し、行を選択してボタンを押すと一行ずつ上もしくは下に行が移動していくものを作成したいです。

  A B C・・・    

1 A1 B1 C1

2 A2 B2 C2

3 A3 B3 C3

↓ 1行目、2行目を選択し▼を1回押すと

  A B C・・・    

1 A3 B3 C3

2 A1 B1 C1

3 A2 B2 C2

地道にコピーして貼り付けていく方法しかないでしょうか・・・

アドバイス頂けると嬉しいです。

< 使用 Excel:Excel2003、使用 OS:Windows7 >


  >行の切り取りや切り取った行の挿入等をしてしまうと数式の参照セルが変わってしまうため

  > 地道にコピーして貼り付けていく方法しかないでしょうか・・・

  ちょっと分からないのですけど、「地道」にやった場合

  1行目と2行目をコピーして、2行目と3行目に貼り付けるんでしょうけど、
  3行目のA3〜C3のデータはどうやって1行目に持って行くんですか?

  いずれにしても、その旨く行く方法をマクロに翻訳すればいいんじゃないですか?

(半平太) 2018/06/01(金) 19:53


 >行の切り取りや切り取った行の挿入等をしてしまうと数式の参照セルが変わってしまう...

 数式を行の挿入/削除に影響されないようにするとか?

 Sheet2のA1に

 =INDEX(Sheet1!$A:A,ROW(),COLUMN())
 右/下方向へ必要なだけコピー
(seiya) 2018/06/01(金) 20:15

要は相対参照で作って(組んで)ある数式を移動させちゃうと参照したいセルがかわっちゃうので困るってことですよね

マクロで処理するかは置いといて、数式の最初の「=」を「†」とか使わないであろう記号に置換して文字列にしておいてから移動して、移動後に「†」を「=」に置換しなおしてみてはどうでしょうか?
(もこな2) 2018/06/01(金) 22:49


皆さん早速のお返事ありがとうございました。

半平太様

> 1行目と2行目をコピーして、2行目と3行目に貼り付けるんでしょうけど、
 3行目のA3〜C3のデータはどうやって1行目にもっていくんですか?

配列を使って保存する方法しか思いついておらず、もっと簡単な方法はないかと模索していました。。。

seiya様

挿入/削除に影響されないようにする方法が分からず困っていたので助かりました!
うまくいきそうです!ありがとうございました。

もこな2様

説明が分かりずらく申し訳ないです。
シート1には値のみでシート2にシート1を参照する数式が入っています。

文字列にしてから置換するという方法もあるのですね。大変勉強になりました。
ありがとうございました。

(ie) 2018/06/04(月) 09:44


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.