- ベストアンサー
EXCEL2000 2つのセルの値を入れ替える方法
任意の2つのセルを選択してプログラムを実行すると その2つのセル値のみ(書式等はそのまま)を入れ替えるようなものを作りたいのですか可能でしょうか? セルを2つ以上もしくは1つしか選択していない場合はプログラムが走らないようなものにしたいです。 どうしてもうまくいかないので、ぜひご教授お願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
>セルを2つ以上もしくは1つしか選択していない場合は セルを2つ選択している場合にしました。 >その2つのセル値のみ(書式等はそのまま) 書式は変えていないつもりです。 下のようなマクロでどうでしょうか。 Sub swapCellData() Dim rg As Range '// 作業用セル Dim rng(2) As Range '// 選択したセル Dim cnt As Integer '// カウンタ Dim dmy As Variant '// 退避用変数 '// 選択したセルの個数が2個のときのみ機能する If Selection.Count = 2 Then '// 配列に格納する For Each rg In Selection cnt = cnt + 1 Set rng(cnt) = rg Next '// 交換する dmy = rng(2).Value rng(2).Value = rng(1).Value rng(1).Value = dmy End If End Sub
お礼
ずっとなやんでいたのですが助かりました。。完璧でした。 ありがとうございました。