【Excel】エクセルでのセルや行入れ替え(上下のデータの順番:ショートカット:できない時:やマクロも)の方法 | モアイライフ(more E life)
EXCEL作成代行・自動化サービス開始(^^)/

EXCEL作成代行・お悩み解決・関数や数式の追加・グラフ作成大量データの一括加工などお任せください!

→面倒・難しい作業を丸投げする♪

【Excel】エクセルでのセルや行入れ替え(上下のデータの順番:ショートカット:できない時:やマクロも)の方法

Excelのスキルアップ
本サイトでは記事内に広告が含まれています

この記事では、エクセルでのセルや行入れ替え(上下のデータの順番:ショートカット:できない時:やマクロも)の方法について解説していきます。

具体的には、

・補助列に番号を逆に振り、並び替え

・切り取りと挿入のショートカットを組み合わせる

・マクロの活用

などで対応できます。

それでは詳しく見ていきましょう。

 

スポンサーリンク

エクセルでの行の上下を入れ替えする方法(補助列作成&ソートでデータの上下を入れ替え)

まずは、補助列に番号を振る&並び替え機能を活用で、エクセルでの行の上下を入れ替える方法を確認していきます。

ここで、アイスとマシュマロの行を上下入れ替えしてみます。

補助列(ここではA列)にて、下に持っていきたい行を2、上に持っていきたい行を1と入力しましょう。

その上で、データ上下を入れ替えたい行を、補助列の番号含めて選択しましょう。

データタブから、AZ↓(昇順)をクリックします。

これでデータの上下を入れ替える処理が完了です。

状況に応じて、補助列の番号を消したり、行ごとではなくセルのみの上下を選択してみてくださいね。

 

エクセルでの行入れ替えのショートカット(データ上下の順番)【切り取り+挿入の活用】

さらには、切り取り+挿入のショートカット活用で、行の上下を入れ替えて見ましょう。

アイス記載の行(ここでは4行目)を選択の上、Ctrl + Xで切り取り範囲をここに指定します。

 

その上で、挿入したい行の一個下の行を選びます(ショートカット挿入時に上に行が入ることになるので、実質ここが入れ替えの対象行)。今回では、6行目がこれに相当しますね。

 

続けて、Ctrl + Shift + +キーを同時押しすることで、挿入実行され、行の上下を入れ替えることができました。

好みで使い分けてくださいね。

 

エクセルでの行の上下入れ替えの方法(マクロ)

なお、マクロ(VBA)を活用して行の上下入れ替えをするのもありですね。

以下のコードをAlt +F11でVBE画面を開き、貼り付けてくださいませ(マクロ有効ブック、.xlsm)。

Sub SwapRows()
    Dim inputStr As String
    Dim rowNumbers As Variant
    Dim firstRow As Long, secondRow As Long
    Dim ws As Worksheet

    ' ユーザーに行番号を入力させる
    inputStr = InputBox("入れ替える行番号をカンマ区切りで入力してください(例: 3,5)")

    ' 入力された値をカンマで分割
    rowNumbers = Split(inputStr, ",")

    ' 入力値が2つではない場合は警告を出して終了
    If UBound(rowNumbers) + 1 <> 2 Then
        MsgBox "2つの行番号をカンマ区切りで入力してください。"
        Exit Sub
    End If

    ' 行番号を整数に変換
    firstRow = Val(rowNumbers(0))
    secondRow = Val(rowNumbers(1))

    ' 作業用シートの作成(存在しない場合)
    On Error Resume Next
    Set ws = ThisWorkbook.Worksheets("TempSwap")
    If ws Is Nothing Then
        Set ws = ThisWorkbook.Worksheets.Add(After:=ThisWorkbook.Sheets(ThisWorkbook.Sheets.Count))
        ws.Name = "TempSwap"
        ws.Visible = xlSheetVeryHidden ' シートを隠す
    End If
    On Error GoTo 0

    ' 一時的に第一行の内容を作業用シートにコピー
    Rows(firstRow).Copy Destination:=ws.Rows(1)

    ' 第二行の内容を第一行にコピー
    Rows(secondRow).Copy Destination:=Rows(firstRow)

    ' 作業用シートの内容を第二行にコピー
    ws.Rows(1).Copy Destination:=Rows(secondRow)
    Application.CutCopyMode = False

    MsgBox "行 " & firstRow & " と行 " & secondRow & " を入れ替えました。"
End Sub

Alt+F8で上のマクロを実行しましょう。

インプットボックスが出ますので、入れ替えたい行をカンマ区切りで入れる仕様になっています。

ここでは、4,5としてみます。

以下のようメッセージが出て、行の上下の入れ替えが実行されます!

 

 

まとめ エクセルでのセルの上下入れ替え(ショートカットやマクロも:データの順番)の方法

ここでは、【Excel】エクセルでの行入れ替え(データの上下:ショートカットやマクロも:セルの順番)の方法について確認しました。

エクセル操作になれ、さらに快適な生活を送っていきましょう!

コメント

スポンサーリンク
タイトルとURLをコピーしました