
No.7ベストアンサー
- 回答日時:
こんばんは。
一応、現在は、2列ごとの並べ替えをするものですが、AA1から右をテンポリーセルとしていますから、もし、そこに何かあるようでしたら、どこか適当な場所にしてください。
'標準モジュール推奨
Sub DoubleRowsSort()
'二行を1行として並べ替えをするマクロ
Dim rng As Range
Dim mRow As Integer
Dim mCol As Integer
Dim Ar() As Variant
Dim Ar2() As Variant
Dim c As Variant
Dim r As Variant
Dim i As Integer
Dim k As Integer
Set rng = Range("A1").CurrentRegion
mRow = rng.Rows.Count
mCol = rng.Columns.Count
ReDim Ar(1 To mRow / 2, 1 To mCol * 2)
For Each c In Range("A1").CurrentRegion
i = i + 1
Ar(Int((i - 1) / (mCol * 2)) + 1, (i - 1) Mod mCol * 2 + 1) = c.Value
Next c
Application.ScreenUpdating = False
'テンポラリセル領域
With Range("AA1").Resize(mRow / 2, mCol * 2)
.Value = Ar()
'並べ替え 4列目(D)
.Sort Key1:=.Range("D1"), Order1:=xlAscending, Header:=xlNo, _
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
ReDim Ar2(1 To mRow, 1 To mCol)
For Each r In .Cells
k = k + 1
Ar2(Int((k - 1) / mCol) + 1, (k - 1) Mod mCol + 1) = r.Value
Next
.ClearContents
End With
Application.ScreenUpdating = True
rng.Value = Ar2()
Set rng = Nothing
End Sub
No.6
- 回答日時:
No4です。
E1に=A1、E2に=A1、をそれぞれ入力し、E1およびE2を選択してフィルハンドルをE6までドラッグします。さらに横にH6までドラッグします。コピー&値ペーストをします(安全のため)。アクティブ領域(A1:H6)を選択してH降順、E昇順でソートし、EからHを削除します。
ステップは多くなりますが、元のデータを変更しないで済みます。
(あわてて取り繕ったぼろ隠しのような答えで少々気恥ずかしい気もしますが、何かのご参考に)。
No.3
- 回答日時:
その程度のことなら、「一気」でなく“二気”で可能かと、
1.当該2行を選択して、右クリックから[切り取り]
2.1行目を選択して、右クリックから[切り取ったセ
ルの挿入]
No.2
- 回答日時:
A1からD6までご質問のデータが入っているとすると、データ>並べ替えで3つまで指定できるのでD列、C列、B列の順でソーティングを設定すればよいように感じられますが、結果として示されている2行目がどのようなコンセプトでその位置に来ているのかわかりません。
それを除けば上記のとおりの方法でソーティングできるはずです(おまけ:並べ替えの要素が4以上になる場合には連番を使い、複数段階のソーティングを行います)。No.1
- 回答日時:
例で示したものはどちらかというと表形式的なものです。
ですのでその状態で見るしかないもの。データベース的な処理をしたいのなら、どうにかして修正するしかないでしょう。こんな感じで。
10 A G
11 B H
20 C I ○
21 D J ○
30 E K
31 F L
修正は量が多いのならマクロを組んでやってしまえば手っ取り早いでしょう。それが難しいのなら最初から入力しなおした方が後々のためにもお勧めかもしれません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Excel(エクセル) エクセルの並び替えについて 5 2022/07/11 00:49
- Excel(エクセル) エクセルでの色付け 5 2022/10/09 18:58
- 建設業・製造業 見積作成(エクセル)について教えて下さい。 2 2023/05/10 13:47
- Excel(エクセル) Excel 郵便番号順に並び変えたい 同じ番号が複数あるとき 4 2022/04/28 18:35
- Excel(エクセル) エクセルデーターの並び替え 5 2022/08/06 09:59
- Excel(エクセル) オフィスをLibreOfficeからmicrosoft 2013に変えました。 1 2022/05/09 00:28
- Excel(エクセル) vba シートの並び替え 1 2023/04/19 13:44
- Excel(エクセル) エクセルでのマクロを使ったデータの並べ替え 3 2022/12/03 18:54
- Excel(エクセル) Excel リンク先のエクセルファイルの削除 同時に行を削除したい 1 2022/11/29 16:20
- Excel(エクセル) エクセルの表でダブりを解消する方法を、教えてください。 5 2023/04/12 12:11
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【Excel VBA】CSV取込時、数字...
-
Word2016でExcelデータを差込し...
-
ExcelのIF関数について
-
EXCEL2007で2つのシートのどっ...
-
Excel 表の必要箇所だけを抜き...
-
IF関数 論理が複数の場合について
-
エクセルで作成した表から明細...
-
Excelでの在庫管理
-
エクセルでページ毎の計をつけ...
-
EXCELの列の幅
-
エクセルVBAで複数列データを1...
-
VBAで列に計算式を入れたい
-
ワードで勝手に点線ラインがでる
-
セル入力文字が、「右のセルに...
-
エクセル、ページをまたがった...
-
パワポの複数ページにまたがる...
-
あるセルに色を付けた時、別の...
-
word 2016 罫線が引けないのは...
-
エクセルで知らない間に行がず...
-
パワーポイントの表
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Word2016でExcelデータを差込し...
-
【Excel VBA】CSV取込時、数字...
-
EXCEL2007で2つのシートのどっ...
-
EXCELの列の幅
-
エクセルでページ毎の計をつけ...
-
エクセルで前年同日・前月同日...
-
EXCELで2つのシートから一致し...
-
Excel 表の必要箇所だけを抜き...
-
エクセルで電話番号にハイフン...
-
Excelで奇数行を削除
-
excelの列がいっぱいになり列を...
-
SUMPRODUCT関数で複数条件適用...
-
エクセルVBAで複数列データを1...
-
エクセルの余白を0にしても列...
-
選択範囲の表を空白を削除して...
-
EXCELで不良率を出そうと思って...
-
ExcelのIF関数について
-
マクロ実行時のエラーの原因を...
-
ドロップダウンリスト
-
VBAで列に計算式を入れたい
おすすめ情報