エクセルでの 行の並び替えの方法で質問があります
多数行のデータの 任意の行同士の並び替え(例えば150行目と450行目を入れ替える)に
ついてですが、今私は、そのような場合、それぞれ 150行目と450行目のデータをそれぞれ
コピーし 挿入したあと 古いデータを削除するという方法で行っています。
これで 入れ替えはできるのですが、入れ替えるデータがたくさんあるときは
時間がかかって困っています。
ほかに もう少し簡単に行の入れ替えを行う方法はあるのでしょうか?あれば
是非教えてください。
初心者なので ごく基本的なご質問で恐縮ですが
宜しくお願い致します
No.4ベストアンサー
- 回答日時:
#1です。
7)は、「並べ替え」ボタンのことです。リボン(メニュー)から選んでも可。
私の基本的な質問に再度ご回答くださりありがとうございます
なるほど A→Z……並べ替えですよね
よく考えればわかることでした
番号を入れ替えて 並べ替えをおこなったら 簡単に
できました。コピーするより全然簡単です
感謝いたします
ただ MackyNo1様の 並べ替えの方法もドラッグで
簡単にできたので、NO1様とどちら様をベストアンサーに
させていただくか ちょっと迷っています
ごめんなさい
質問に 再度答えてくださって大変感謝しています
ありがとう ございました
No.6
- 回答日時:
No.5です!
たびたびごめんなさい。
前回のコードで不具合がありました。
↓のコードに訂正してください。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 'この行から
Dim i As Long, j As Long, k As Long, c As Range, wS As Worksheet
Set wS = Worksheets("Sheet2")
If Target.Column = 1 Then '←A列限定
Cancel = True
i = Cells(Rows.Count, 1).End(xlUp).Row
Set c = Cells(1, 1).Resize(i, 1).Find(what:="", LookIn:=xlValues, lookat:=xlWhole)
If c Is Nothing Then
Target.EntireRow.Cut wS.Cells(1, 1)
Else
j = c.Row
k = Target.Row
Target.EntireRow.Copy c
wS.Rows(1).Cut Target
MsgBox j & "行目と" & k & "行目を入れ替えました"
End If
End If
End Sub 'この行まで
ダブルクリックはA列に限定するのを忘れていました。
どうも失礼しました。m(_ _)m
No.5
- 回答日時:
こんばんは!
VBAでの一例です。
>例えば150行目と450行目を入れ替える
というコトですので、
A列をダブルクリックすると最初にダブルクリックした行と2番目にダブルクリックした行を入れ替えるようにしてみました。
尚、作業用としてSheet2を使用していますので、Sheet2は使っていないSheetにしてください。
そして、A列は1行目からデータの最終行まで空白セルがないという前提です。
画面左下の操作したいSheet見出し上で右クリック → コードの表示 → VBE画面に
↓のコードをコピー&ペーストしてA列をダブルクリックしてみてください。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) 'この行から
Dim i As Long, j As Long, k As Long, c As Range, wS As Worksheet
Set wS = Worksheets("Sheet2")
Cancel = True
i = Cells(Rows.Count, 1).End(xlUp).Row
Set c = Cells(1, 1).Resize(i, 1).Find(what:="", LookIn:=xlValues, lookat:=xlWhole)
If c Is Nothing Then
Target.EntireRow.Cut wS.Cells(1, 1)
Else
j = c.Row
k = Target.Row
Target.EntireRow.Copy c
wS.Rows(1).Cut Target
MsgBox j & "行目と" & k & "行目を入れ替えました"
End If
End Sub 'この行まで
※ 最初A列セルをダブルクリックするとその行は空白になりますが、Sheet2の1行目にそのまま貼り付けています。
※ 2番目にダブルクリックする行がかなり離れていて、画面スクロールが大変の場合は
名前ボックス(画面左上のセル番地が表示されているところ)に直接 A400 のように入力してEnterを押下!
これでそのセルが選択されますので、そこでダブルクリックしてみてください。m(_ _)m
ご回答くださりありがとうございます
初心者のせいか、ちょっと うまくできませんでした
でも教えていただいて 感謝いたします
また 何かわからないことがあったら ご質問させていただくことも
あるかとおもいますが その際はよろしくお願いいたします
No.3
- 回答日時:
行や列の並べ替えは以下のようなマウスおよびキー操作をするのが基本です。
すなわち、移動したい範囲を選択し、周囲にカーソルを置いて、Shiftキーを押しながら移動先にドラッグし、(挿入位置に灰色のマーカーが出るのを参考にして)移動先にドロップします。
ちなみに、Shiftキーを押さないでドラッグした場合は、単純に上書き「移動」になり(数式などは元のセルと全く同じ数式になります)、Ctrlキーを押してドラッグすれば「コピー」です(相対参照の数式は移動先で変更されます)。
分かり易いご回答ありがとうございます
並べ替えはNO1様のご回答で できたのですが
MackyNo1様の ドラッグでできる方法が便利なので
とても参考になりました
また 上書きやコピーなどのアドバイスもとても参考に
なりました
ただ NO1様が 私の質問に何度もご回答をくださったので
ベストアンサーを どちら様にするか ちょっと迷っています
申し訳ありません
アドバイス本当に参考になりました
ありがとうございました
No.1
- 回答日時:
ソート(並べ替え)用の列をひとつ設けるのはいかが?
仮に列Aを用いるとして。列Bが、必要な行を網羅する値があるとします。
1)セルA1に値[1]を入力。
2)選択しているセルを囲む太線(ここではセルA1を囲む太枠)の右下隅が■になってるので
マウスカーソル乗せると黒い+になるので、ダブルクリック。
3)上記操作で、必要行まで連番が埋まるはず。※Ctrl+↓で確認すること。
4)セルA150(値[150]のはず)を450に書き換える
5)セルA450(値[450]のはず)を150に書き換える
6)セルA1の左上何もないところをクリックして、シート内を全選択
7)A→Zキー押下。
8)不要なら列A削除
さっそくのご回答ありがとうございます
教えていただいた手順に沿って1)から6)まで
進めていったのですが 7)でつまずきました
7)A→Zキー押下。の意味が分かりませんでした
すみません。どのようにすればよいのでしょうか?
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Google Drive Googleスプレッドシートについて質問です。 今作っているデータで、 シート1→ベタ打ちでひたすら 2 2022/05/18 14:27
- Excel(エクセル) 【エクセル】並び替えからの並び替え方法 7 2022/07/22 09:46
- Excel(エクセル) エクセルの並び替えについて 5 2022/07/11 00:49
- その他(Microsoft Office) エクセルで串刺ししたシートの並べ替えをしたいです 4 2023/02/14 11:59
- C言語・C++・C# C言語プログラム変更 2 2022/12/21 15:03
- その他(Microsoft Office) 1の行を固定した上でVBAを用いて日付順に自動並べ替え 2 2022/06/06 15:09
- Excel(エクセル) 結合セルのソートについて 5 2022/04/22 11:57
- 建設業・製造業 見積作成(エクセル)について教えて下さい。 2 2023/05/10 13:47
- Excel(エクセル) VBA セルの値と同じ名前のシートにデータを貼り付けするやり方を教えてください 2 2022/05/17 16:26
- Excel(エクセル) 関数EXACT(文字列,文字列)とexcelVBA 3 2022/04/14 15:07
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
エクセルで特定の文字列が入っ...
-
エクセル マクロ オートフィ...
-
【Excel関数】UNIQUE関数で"0"...
-
AのセルとB行を比較して、一致...
-
[EXCEL]ボタン押す→時刻が表に...
-
結合されたセルをプルダウンの...
-
excel 小さすぎて見えないセル...
-
excelのデータで色つき行の抽出...
-
エクセル 上下で列幅を変えるには
-
エクセルのセルに指定画像(.jpg...
-
エクセル マクロ等を利用した各...
-
エクセル 時間の表示形式AM/PM...
-
サイズの違うセル 並べ変え
-
Excel グラフのプロットからデ...
-
エクセルで昨日までの日付デー...
-
アクティブになっている行をマ...
-
エクセル マクロで数値が変っ...
-
エクセルのマクロで意図しない...
-
Excelで非表示のセルをとばして...
-
EXCELで最後の行を固定
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで特定の文字列が入っ...
-
エクセル マクロ オートフィ...
-
【Excel関数】UNIQUE関数で"0"...
-
[EXCEL]ボタン押す→時刻が表に...
-
結合されたセルをプルダウンの...
-
エクセル マクロで数値が変っ...
-
Excel グラフのプロットからデ...
-
AのセルとB行を比較して、一致...
-
エクセル 上下で列幅を変えるには
-
Excel ウインドウ枠の固定をす...
-
特定の文字がある行以外を削除...
-
excelのデータで色つき行の抽出...
-
エクセル2016で時間を入力して...
-
excel 小さすぎて見えないセル...
-
EXCELで最後の行を固定
-
エクセルVBA 最終行を選んで並...
-
VBAで色の付いているセルの行削除
-
エクセルマクロで偶数行(又は...
-
エクセルのセルに指定画像(.jpg...
-
罫線の斜線を自動で引くマクロ
おすすめ情報