• ベストアンサー

EXCEL2000 2つのセルの値を入れ替える方法

任意の2つのセルを選択してプログラムを実行すると その2つのセル値のみ(書式等はそのまま)を入れ替えるようなものを作りたいのですか可能でしょうか? セルを2つ以上もしくは1つしか選択していない場合はプログラムが走らないようなものにしたいです。 どうしてもうまくいかないので、ぜひご教授お願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • nishi6
  • ベストアンサー率67% (869/1280)
回答No.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

masa2000z28
質問者

お礼

ずっとなやんでいたのですが助かりました。。完璧でした。 ありがとうございました。

関連するQ&A

専門家に質問してみよう