![](http://oshiete.xgoo.jp/images/v2/pc/qa/question_title.png?e8efa67)
列ごとにデータを増やしていく予定があります。
そして、行1 のデータを基準に列の順番を昇順で並べ替えたいです。
ひとつの列に何行のデータが入るかは未定なので、ソートのたびにシート全体を選択する必要があります。
マクロの記録でおよそ以下のようになりました。
これをボタンに割り当てたいと思うのですが、
《Key:=Range("A1:C1"),》
《.SetRange Range("A1:C87")》
という記述があります。
このままだと《ソートのたびにシート全体を選択する》ことはできませんよね?
常に《ソートのたびにシート全体を選択する》ために、どのように書き換えれば良いでしょうか?
教えてください。
Sub Macro3()
Cells.Select
ActiveWorkbook.Worksheets("語彙").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("語彙").Sort.SortFields.Add Key:=Range("A1:C1"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("語彙").Sort
.SetRange Range("A1:C87")
.Header = xlGuess
.MatchCase = False
.Orientation = xlLeftToRight
.SortMethod = xlPinYin
.Apply
End With
End Sub
No.2ベストアンサー
- 回答日時:
こんばんは。
例えば、下記の様な記載は、どうでしょうか?
《Key:=Range("A1:C1"),》
→Key:=Range(Range("A1"),Cells(1, Columns().Count).End(xlToLeft))
https://www.sejuku.net/blog/28094
《.SetRange Range("A1:C87")》
→.SetRange Range("A1").CurrentRegion
A1セルを基準に、空白セルで囲まれた範囲を取得
https://kabu-macro.com/detail.php?dir=word&dir2= …
No.1
- 回答日時:
こんにちは
>常に《ソートのたびにシート全体を選択する》~~
言葉通りに「シート全体」なら
Cells
を使用すれば「シート内の全セル」の意味になります。
(シートの左上角をクリックしたときと同様です)
とは言え、実際には使用しているセル範囲で良いのでしょうから、
ActiveSheet.UsedRange
で宜しいのではないでしょうか?
https://docs.microsoft.com/ja-jp/office/vba/api/ …
ご回答ありがとうございます。
具体的には、
《Key:=Range("A1:C1"),》
《.SetRange Range("A1:C87")》
をどのように書き換えればよろしいですか?
お探しの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
- Excel(エクセル) 並べ替え、ソートの構文がわからない。 お世話になります。VBA超初心者です。 エクセルでワークシート 2 2023/06/28 21:00
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) excel2021で実行できないマクロ。どこを直したらいいのか 2 2022/03/28 03:40
- Visual Basic(VBA) 【前回の続き続きです、ご教示ください】VBAの記述方法がわかりません。 2 2022/08/24 20:49
- Excel(エクセル) ExcelVBAについて。 2 2022/12/10 20:08
- Visual Basic(VBA) Excel VBAで並べ替えをしたい 3 2023/02/25 09:31
- Visual Basic(VBA) データのある範囲を選択するVBAについて 2 2022/09/03 00:20
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
VBA セルの値と同じ名前のシー...
-
ExcelVBAで、指定したシートに...
-
Excel 複数のシートからグラフ...
-
Excelの中央値の複数条件について
-
エクセルのワークシートが重く...
-
エクセルで入力シートから別シ...
-
Excel ハイパーリンク先のセル...
-
質問:特定文字列から空白行ま...
-
VBAのoffsetの動き方について教...
-
エクセルのマクロ中で
-
Excelの選択肢をポップアップリ...
-
エクセル シフト勤務表から、...
-
エクセルについて質問です 日付...
-
IF, ISNUMBER, INDIRECTの組み...
-
エクセルVBA:表の内容を担当者...
-
テキストボックス内の文字のふ...
-
Excelで行ごとコピー、同じ行を...
-
Excelで数値→文字列変換で指数...
-
エクセルでグラフタイトルが折...
-
エクセル
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセルで入力シートから別シ...
-
Excel 複数のシートからグラフ...
-
Excelの中央値の複数条件について
-
VBA セルの値と同じ名前のシー...
-
ExcelVBAで、指定したシートに...
-
Excel ハイパーリンク先のセル...
-
IF, ISNUMBER, INDIRECTの組み...
-
エクセルのワークシートが重く...
-
エクセル シフト勤務表から、...
-
VBAでシート名をセルから取得し...
-
エクセルで入力→日付を自動判別...
-
エクセルVBA:表の内容を担当者...
-
質問:特定文字列から空白行ま...
-
エクセル マクロを使って日々...
-
VBAのoffsetの動き方について教...
-
エクセル自動の年月
-
エクセル:複数シートのデータ...
-
ピボットテーブルから抽出デー...
-
エクセルについて質問です 日付...
-
Excelの選択肢をポップアップリ...
おすすめ情報