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を選択します。
プレスシフトキー、および右の境界にカーソルを置きます。
次に、カーソルをセルB4の右境界線にドラッグします。
「工」が表示されたら、マウスを放します。
そして、2つのセルの内容が交換されました。
この方法では、隣接する2つの行または列を交換することもできます。
隣接する同じサイズの長方形の範囲の特定の場合、同様の質問に対するこの回答で説明されている方法を使用できます。
+
通常は=
キーの上にあるため、これは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つのセルの内容を交換する方法はありません。それを行うための独自のマクロを作成する必要があります。
編集:Excelのより新しいバージョンでセルの内容を簡単に交換できる方法があるように思われるため、この回答はおそらく古くなっています。
交換するセルの最初のセットを選択し、ctrl+を押しますx。
交換するセルの横にあるセルを選択し、ctrl+ を押します+。
最大25個のアイテムをクリップボードに貼り付けることができるため、ctr + tabまたはcmd + tab macを使用して簡単に交換できます
スワップが実行されます
私はこの投稿を読みましたが、実際には全範囲を交換するマクロが必要でした。さらに、色を交換する必要がありました。元々投稿されたマクロをわずかに変更しました。これは誰かに役立つかもしれません。
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