
No.2ベストアンサー
- 回答日時:
こんばんは!
一例です。
Sub Sample1()
Dim lastRow As Long, lastCol As Long
lastRow = Cells(Rows.Count, "A").End(xlUp).Row '←A列で最終行取得//
lastCol = Cells(5, Columns.Count).End(xlToLeft).Column '←5行目で最終列取得//
Range(Cells(5, "A"), Cells(lastRow, lastCol)).Sort key1:=Range("B5"), order1:=xlAscending, Header:=xlYes
Range(Columns("F"), Columns(lastCol)).ColumnWidth = 12
End Sub
こんな感じではどうでしょうか?m(_ _)m
ありがとうございます!初心者の私にはわかりやすかったです^^ 動作、バッチリでした!!覚えておいて今後どんどん活用していきたいです!
No.3
- 回答日時:
最終行の取得としては、たとえば、
Dim LstRow As Long
LstRow=Cells(Rows.Count,1).End(xlUp).Row
で行けます。
つまり、A列の最終行から上に遡ってぶち当たる行、ということです。
同様に最終列の取得は、たとえば
Dim LstCol As Long
LstCol =Cells(1,Columns.Count).End(xlToLeft).Column
で行けます。
1行目の最終列から左に遡ってぶち当たる列、ということです。
データの入力状況に応じて、上記の「A列」や、「1行目」のところはアレンジしてください。
それを踏まえて、ご質問の状況に当てはめれば、たとえば以下。
Dim Rng1 As Range, Rng2 As Range, LstRow As Long, LstCol As Long
LstRow=Cells(Rows.Count,1).End(xlUp).Row ’最終行を変数LstRowに入れる
LstCol =Cells(1,Columns.Count).End(xlToLeft).Column ’最終列を変数LstCol に入れる
Set Rng1 = Range(Cells(5,1),Cells(LstRow,43)) 'A5~AQ最終行の範囲を変数Rng1に格納
Rng.Sort _
Key1:=Cells(5,2), Order1:=xlAscending,Header:=xlYes
Set Rng2 = Range(Columns(6),Columns(LstCol)) 'F列から最終列の範囲を変数Rng2に格納
Rng2.ColumnWidth=12
Set Rng1=Nothing
Set Rng2=Nothing
とか。
ありがとうございます、初心者の私には少し難しかったですが、遡ってぶち当たるという概念がわかりやすかったです!Rngに格納というのを使った事がまだありませんでしたので、大変参考になりました。
No.1
- 回答日時:
最終行を取得する場合は、
Cells(1, 1).End(xlDown).Rowです。
http://excel-ubara.com/excelvba4/EXCEL222.html
こちらに詳しく載っていますので参考になさってください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) マクロで最終行を取得してコピーしたい 3 2022/04/06 19:07
- Visual Basic(VBA) Sub 分けてソートして貼り付ける() Dim srcSheet As Worksheet Dim 6 2023/08/04 19:57
- Visual Basic(VBA) 3つのプロシージャをまとめたら実行時エラー発生で対応不能 6 2022/05/17 01:47
- Visual Basic(VBA) 追記する列を増やしたい 2つのデータを検索・照合して元データにないデータを下記マクロで商品名を追記し 9 2022/10/05 10:50
- Visual Basic(VBA) Excelのマクロについて教えてください。 1 2023/03/12 12:16
- Visual Basic(VBA) vba 等間隔の列に対しての計算 6 2022/05/17 20:15
- Visual Basic(VBA) Excel VBA キーワードから列を取得して、さらに空欄行を非表示にする 3 2022/10/21 22:49
- その他(プログラミング・Web制作) sortの優先キーについて(スプレッドシート) 1 2023/01/17 17:59
- Visual Basic(VBA) 正規表現を用いての並び替え 7 2022/04/04 09:27
- Visual Basic(VBA) Excel_マクロ_現在開いているシートにマクロを実行したいです 1 2023/02/14 23:54
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセルVBA 最終行を選んで並び替え
Excel(エクセル)
-
エクセルVBA 最終行を選んで並び替え (空白セルを一番上に表示したい)
Excel(エクセル)
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
-
4
VBAで文字列を数値に変換したい
Excel(エクセル)
-
5
エクセル マクロ 最終列までを全選択
Excel(エクセル)
-
6
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
7
【Excel VBA】一番右端セルまでの範囲指定の仕方(途中に空白セルあり)
Visual Basic(VBA)
-
8
Excel VBAにてソートが上手くいかない
その他(Microsoft Office)
-
9
B列の最終行までA列をオートフィル
Visual Basic(VBA)
-
10
ExcelVBAを使って、値がある場合は作業を繰り返し実行するプログラムを作成したい。
Visual Basic(VBA)
-
11
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
12
マクロで最終行を取得してコピーしたい
Visual Basic(VBA)
-
13
VBA 別ブックからコピペしたいのですが、軽くしたいです
Visual Basic(VBA)
-
14
ExcelのVBAで連番を振る。
Excel(エクセル)
-
15
数式による空白を無視して最終行を取得するマクロ
Excel(エクセル)
-
16
vba 2つの条件が一致したらコピーして別シートに値のみ貼り付け
Visual Basic(VBA)
-
17
VBAでファイルを開くときにファイル名でワイルドカードを使用したいです
その他(プログラミング・Web制作)
-
18
【Excel VBA】 B列に特定の文字列があった場合にA列の値を変更する
Visual Basic(VBA)
-
19
空白行も含めてソートしたい
Excel(エクセル)
-
20
VBA シートのボタン名を変更したい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
「段」と「行」の違いがよくわ...
-
エクセルで離れた列を選択して...
-
VLOOKUPの列番号の最大は?
-
CSVファイルの「0落ち」にVBA
-
VBA 指定した列にある日時デー...
-
LEFT関数とIF関数の組み合わせ...
-
列方向、行方向の定義
-
EXCELを最大にて開いた際、特定...
-
Excelの行数、列数を増やしたい...
-
土日の列幅の自動変更を教えて...
-
マクロを使って複数ある同じ数...
-
エクセル マクロ 範囲の値を上...
-
Excel2002のVBAでFor Nextのネ...
-
ご覧いただきありがとうござい...
-
エクセルで?
-
エクセル マクロ 範囲指定で...
-
VBAで別ブックの列を検索し、該...
-
エクセル 任意の列数で分割する...
-
エクセルマクロPrivate Subを複...
-
アクセス 取り込み時に、桁数(...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
「段」と「行」の違いがよくわ...
-
エクセルで離れた列を選択して...
-
LEFT関数とIF関数の組み合わせ...
-
VLOOKUPの列番号の最大は?
-
VBA 指定した列にある日時デー...
-
Excelの行数、列数を増やしたい...
-
エクセルのソートで、数字より...
-
列方向、行方向の定義
-
VBAで別ブックの列を検索し、該...
-
エクセル マクロ 範囲指定で...
-
CSVファイルの「0落ち」にVBA
-
エクセルマクロPrivate Subを複...
-
エクセルで最初の行や列を開け...
-
最近急にVBAの処理速度が遅くな...
-
VBA
-
Excel文字列一括変換
-
エクセルで複数列の検索をマク...
-
エクセル マクロ 範囲の値を上...
-
横軸を日付・時間とするグラフ化
-
Alt+Shift+↑を一括で行うには、...
おすすめ情報