Excelでセルの内容を入れ替える?
Microsoft Excelで2つのセルの内容を入れ替える簡単な方法はありますか?
簡単というのは、一時的なセルにコピーしたり、VBAスクリプトを書いたりすることなく、キーボードショートカットかメニュー項目のいずれかを意味します。言い換えれば、2つのセルを選択してメニュー項目をクリックするか、内容を入れ替えるキーの組み合わせを押すだけの方法を探しています。確かに、これを行う方法があるはずです?
Microsoft Excelで2つのセルの内容を入れ替える簡単な方法はありますか?
簡単というのは、一時的なセルにコピーしたり、VBAスクリプトを書いたりすることなく、キーボードショートカットかメニュー項目のいずれかを意味します。言い換えれば、2つのセルを選択してメニュー項目をクリックするか、内容を入れ替えるキーの組み合わせを押すだけの方法を探しています。確かに、これを行う方法があるはずです?
From: http://www.extendoffice.com/documents/excel/860-excel-swap-contents-of-two-cells.html
時々、隣り合った2つのセルを入れ替える必要があります。私たちはそれを簡単に手動で行うことができます。次のスクリーンショットを見てください、私はセルA4とB4を入れ替えたいのですが、次のようにしてください。
入れ替えたいセルを選択します。この例では、セルA4を選択します。
Shift**キーを押し、カーソルを右の境界線に合わせます。
3.セルB4の右端にカーソルをドラッグします。
工」と表示されたらマウスを離す。
2 つのセルの内容が入れ替わっています。
この方法では、隣り合う2つの行や列を入れ替えることもできます。
隣接する同サイズの矩形範囲の場合には、似たような質問に対するこの回答で説明されている方法を使うことができます。
1.右または下の範囲を選択する
2. Ctrl+Xを押す
3. 隣接する範囲(つまり、真上または左の範囲)を選択する
4. Ctrl+ + を押す (+
は通常 =
キーの上にあるので、これは Ctrl+Shift+= と訳されます)
隣り合う行または列全体を入れ替えるには、同じ手順を使用することができることに注意してください。
簡単というのは、一時的なセルにコピーしたり、VBAスクリプト**を書いたりすることなく、キーボードショートカットかメニュー項目のいずれかを意味します。2つのセルを選択して、メニュー項目をクリックするか、内容を入れ替えるキーの組み合わせを押すだけの方法を探しています。
なぜこの制限を課すのでしょうか?マクロを作成することで、このようなことは些細なことではありません。私が知っている限りでは、これ以外の方法ではできません。マクロをボタンやホットキーに割り当てることができます。
Sub Swap()
If Selection.Count <> 2 Then
MsgBox "Select 2 cells (only) to swap."
Exit Sub
End If
Set trange = Selection
If trange.Areas.Count = 2 Then
temp = trange.Areas(2)
trange.Areas(2) = trange.Areas(1)
trange.Areas(1) = temp
Else
temp = trange(1)
trange(1) = trange(2)
trange(2) = temp
End If
End Sub
いいえ。Excelで2つのセルの内容を入れ替える方法はありません。
EDIT: 最近のバージョンのExcelでは、セルの内容を入れ替える簡単な方法があるようです。
スワップしたいセルの最初のセットを選択して、ctrl+x:
スワップしたいセルの外側のセルを選択して、ctrl++を押してください。
スワップが実行されます
私はこの投稿を読んだが、実際にはフルレンジを入れ替えるためのマクロが必要だった。さらに、私は色を入れ替える必要がありました。元々投稿されていたマクロを少し修正したので、誰かの役に立つかもしれません。
Sub Swap()
If Selection.Areas.Count <> 2 Then
MsgBox "Select 2 cell ranges (only) to swap."
Exit Sub
End If
If Selection.Areas(1).Count <> Selection.Areas(2).Count Then
MsgBox "The two areas must be of equal size"
Exit Sub
End If
'With this for loop we run through each cell 1 by 1
For i = 1 To Selection.Areas(1).Count
'Swapping values
temp = Selection.Areas(1)(i)
Selection.Areas(1)(i) = Selection.Areas(2)(i)
Selection.Areas(2)(i) = temp
'Swapping color
tempColor = Selection.Areas(1)(i).DisplayFormat.Interior.Color
Selection.Areas(1)(i).Interior.Color = Selection.Areas(2)(i).DisplayFormat.Interior.Color
Selection.Areas(2)(i).Interior.Color = tempColor
Next i
End Sub