隣接したセルの値を交換するのはマウスとキー操作の組み合わせで可能ですが、これが
離れたセル
の場合、不可能です。関数にもありません。
なので、VBAを利用してみます。
エクセル VBA(Visual Basic for Applications) → Officeアプリケーションソフトの拡張機能
準備
「開発タブ」を追加する
1 オプションをクリック
2 リボンのユーザー設定をクリック
3 開発にチェックを入れる
これで「開発」タブが追加されました
では、ちょっと覗いてみましょう。
★VBEを起動する
→ VBE (Visual Basic Editor) とは、Excelに搭載したVBA用のエディターのことです
開発タブをクリックすると、Visual basic というコマンドが表示されます。
Visual Basic Editorを起動
★標準モジュールの追加
→標準モジュールとは、プログラムのコードを記述する「用紙」です
↑ Thisworkbook → 挿入 → 標準モジュール と辿って「標準モジュール」をクリック
標準モジュールが挿入されたら、以下のコードをコピー&ペーストします
Public Sub swap()
Dim w, x As Range, y As Range
If Selection.Areas.Count <> 2 Then Exit Sub
Set x = Selection.Areas(1)
Set y = Selection.Areas(2)
w = x.Formula
x.Formula = y.Formula
y.Formula = w
End Sub
Dim w, x As Range, y As Range
If Selection.Areas.Count <> 2 Then Exit Sub
Set x = Selection.Areas(1)
Set y = Selection.Areas(2)
w = x.Formula
x.Formula = y.Formula
y.Formula = w
End Sub
VBEの画面を終了させます。
実行してみます
再生できない場合、ダウンロードは🎥こちら
入れ替えたいセルを選択(Ctrlキーを使う)→ マクロを呼び出し実行する
という流れです。
この記事へのコメント