マクロ記録をとると次のようになりました。
これをA列をキーに並べるもっと簡単なコードを教えてください。
Range("A2:G501")となっていますが、これ以上でも対応できるようにしたいです。
どなたか教えていただけないでしょうか。
Sub Macro1()
Range("A1").Select
ActiveWorkbook.Worksheets("***").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("***").Sort.SortFields.Add Key:=Range("A1"), SortOn _
:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("***").Sort
.SetRange Range("A2:G501")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
No.3
- 回答日時:
列でソートなら
Sub test01()
Columns("A:A").Sort , Key1:=Range("A1"), Order1:=xlAscending
End Sub
で良いのでは。(一番簡単ということなら)
もちろん同類データの最終行の次以下に異質のデータが在れば使えないが。
ーー
マクロの記録が2003までと違うようだ。
質問には、エクセルのバージョンを書くのは常識だよ。
No.2
- 回答日時:
sub macro2()
worksheets("シート名").range("A1").currentregion.sort _
key1:=range("A1"), _
order1:=xlascending, _
header:=xlyes
end sub
などで。
この回答への補足
たびたびすみません。
ひとつひとつコードを実行してみると、エラーなしに最後までいきます。(並べ替えできています)
わからないですが、何かワンクッション的なものが必要なのでしょうか?
keithinさんご回答ありがとうございました。
並べ替えを下のコードに組み込んで実行したいと思っています。'--------の部分です。
エラーが出るのですが、意味がわかりません。エラーの内容は、
[並べ替えの参照が正しくありません。参照が並べ替えるデータ内にあることと「最優先されるキーボックス」が空白でないことを確認してください]という表示が出ます。
この場合どうしたらいいでしょうか?
With Sheets(sh.Range("D4").Value)
r = .Cells(.Rows.Count, 1).End(xlUp).Row + 1
.Range("A" & r).Resize(n).Value = sh.Range("F10").Resize(n).Value
.Range("B" & r).Resize(n, 3).Value = sh.Range("C10").Resize(n, 3).Value
.Range("F" & r).Resize(n).Value = sh.Range("D6").Value
'----------------------
.Range("A1").CurrentRegion.Sort _
key1:=Range("A1"), _
order1:=xlAscending, _
Header:=xlYes
'----------------------
End With
No.1
- 回答日時:
ソートしたデータの先頭のデータを選択して以下のコードを実行して下さい。
昇順用と降順用のマクロです。
Sub 昇順にソート()
Dim i As Long
Dim j As Long
Dim temp As Long
Dim sortedcolumn As Long
Dim firstrow As Long
Dim lastrow As Long
With Selection
sortedcolumn = .Column
firstrow = .Row
lastrow = .End(xlDown).Row
End With
For i = firstrow To lastrow - 1
For j = i + 1 To lastrow
If Cells(i, sortedcolumn) > Cells(j, sortedcolumn) Then
temp = Cells(i, sortedcolumn)
Cells(i, sortedcolumn) = Cells(j, sortedcolumn)
Cells(j, sortedcolumn) = temp
End If
Next
Next
MsgBox "昇順に並べ替えました。"
End Sub
Sub 降順にソート()
Dim i As Long
Dim j As Long
Dim temp As Long
Dim sortedcolumn As Long
Dim firstrow As Long
Dim lastrow As Long
With Selection
sortedcolumn = .Column
firstrow = .Row
lastrow = .End(xlDown).Row
End With
For i = firstrow To lastrow - 1
For j = i + 1 To lastrow
If Cells(i, sortedcolumn) < Cells(j, sortedcolumn) Then
temp = Cells(i, sortedcolumn)
Cells(i, sortedcolumn) = Cells(j, sortedcolumn)
Cells(j, sortedcolumn) = temp
End If
Next
Next
MsgBox "降順に並べ替えました。"
End Sub
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) Excel_マクロ_現在開いているシートにマクロを実行したいです 1 2023/02/14 23:54
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- Visual Basic(VBA) エクセル VBA 処理スピードを上げたいのですが。 6 2023/03/31 20:52
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Visual Basic(VBA) ローマ字、ハイフン付きの並び替え ローマ字抽出方法 Excelマクロ 4 2022/04/01 14:10
- Excel(エクセル) vba userformで漢字を全角カタカナに 2 2022/07/24 15:38
- Visual Basic(VBA) VBAが止まります。 1 2022/09/02 14:51
- Excel(エクセル) 並べ替え、ソートの構文がわからない。 お世話になります。VBA超初心者です。 エクセルでワークシート 2 2023/06/28 21:00
- Visual Basic(VBA) Excel VBAで並べ替えをしたい 3 2023/02/25 09:31
- Excel(エクセル) VBAの指示の内容 昨日こちらでご教示頂いたのですが初心者な為、一つ一つの指示が何をやっているのかわ 2 2022/10/25 18:08
関連するカテゴリからQ&Aを探す
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ファイルの漢数字の順番につい...
-
レコードの登録順がおかしい
-
テーブルレーコードをソートし...
-
コンボボックスのソートについて
-
MySQLでカタカナでの並び替えが...
-
アクセスに関して。クエリの並...
-
エクセルでの一つのシートだけ...
-
数字と漢字が混じった日付デー...
-
都道府県順、北からソートした...
-
ソート(PL/SQL)
-
OCNメールのファイルフォルダー...
-
リストボックス内を昇順並べる方法
-
エクセル、並び替え正しくソー...
-
SQLローダーCSV取込で、囲み文...
-
select文の実行結果に空白行を...
-
2つの列が同じ値の行を取得するSQL
-
SQLで、同じ値が何回連続す...
-
SQL*Loader Append
-
テーブルの最後(最新)のレコー...
-
int型フィールドにnullを登録で...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
レコードの登録順がおかしい
-
並べ替えについて
-
1の行を固定した上でVBAを用い...
-
ファイルの漢数字の順番につい...
-
テーブルレーコードをソートし...
-
エクセル、並び替え正しくソー...
-
SQLで曜日のソートを月火水木金...
-
月末日のみソートしたい
-
ハイフンの入ったデータの並べ替え
-
リストボックス内を昇順並べる方法
-
Selectした時のレコードの取得順
-
アクセスに関して。クエリの並...
-
accessでDISTINCT 句と矛盾
-
都道府県順、北からソートした...
-
コンボボックスのソートについて
-
SQLデータベースの処理
-
上から何番目か。
-
文字型の順番がうまく並ばない。
-
Excelの並び替え(文字数と画数...
-
ファイルメーカーでソート後の...
おすすめ情報