• ベストアンサー

Excelで 「任意の2つのセルを選択後、ボタンを

Excelで 「任意の2つのセルを選択後、ボタンをクリックしたら、セルの値が入れ替わるマクロ」 を作りたいのですが、 「任意の2つのセル選択」 というところでいきなりお手上げです。 教えてください。よろしくお願いします。

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

  • ベストアンサー
  • mitarashi
  • ベストアンサー率59% (574/965)
回答No.1

「任意の2つのセルを選択」は人手で良いのですね? 隣接している場合と、Ctrlを押しながら離れたセルを選択した場合の両対応にしてみました。 片方空白でも入れ替えてしまいますが、気に入らなければアレンジして下さい。 少々くどいですが、こんなところでいかがでしょうか。ご参考まで。 Sub swapCell() Dim myRange As Range Dim tempValue As Variant If TypeName(Selection) <> "Range" Then Exit Sub Set myRange = Selection Select Case myRange.Areas.Count Case 1 If myRange.Cells.Count <> 2 Then Exit Sub tempValue = myRange.Cells(1).Value myRange.Cells(1).Value = myRange.Cells(2).Value myRange.Cells(2).Value = tempValue Case 2 If myRange.Areas(1).Cells.Count <> 1 Or myRange.Areas(2).Cells.Count <> 1 Then Exit Sub tempValue = myRange.Areas(1).Cells(1).Value myRange.Areas(1).Cells(1).Value = myRange.Areas(2).Cells(1).Value myRange.Areas(2).Cells(1).Value = tempValue Case Else Exit Sub End Select End Sub

hajimete2012
質問者

お礼

早速やってみました。 見事に成功しました。 ありがとうございます。 自分も困っている人に教えられるようになって、 恩返しがしたいです!

関連するQ&A