目次
最後までの値を取得する
こんにちは。伊川(@naonaoke)です。
ExcelのVBAを操作するにあたり、最終行、最終列の取得は必須のスキルとなります。
それは、実務では、最終行、最終列は、その日によって違うからです。
そのスキルがないと、毎朝、最終行、最終列の設定をしなくてなりません。
今回紹介するスキルを身に着けると、次回の設定は不要になります。
問題提起
(株)IKAWAの柄久 瀬瑠子(エク セルコ)は、
上司から下記の依頼を受けました。
ExcelのVBAで、最終行の取得はどのように設定するのか?
どのようなコードを記載するのか?
解決策
回答

・maxrow = Cells(Rows.Count, 1).End(xlUp).Row
・maxColumns = Cells(1, Columns.Count).End(xlToLeft).Column
この2つを暗記することで解決します。
ジャストフィットさせる
昨日の日報を上司に報告する場合、セルの大きさから、文字がはみ出ていているときがあります。
そんな時に、いちいち、セルの大きさを合わせたり、線を引きなおしたり面倒です。
その業務を、一瞬で終わられます。
上の記事のように、表のみを選択する方法もあります。
しかし、今回紹介する内容のほうが、汎用性があります。
最終列 最終列を取得 作成手順その1 データベース確認
最終列 最終列を取得 作成手順その2 記載するコードを確認
セルA11の位置を取得
maxrow = Cells(Rows.Count, 1).End(xlUp).Row
セルF1の位置を取得
maxColumns = Cells(1, Columns.Count).End(xlToLeft).Column
これは、公式と思ってください。
Maxrow、maxColumnsは任意の変数の名前ですので、お好みのものを記載してください。
Sub test () Dim i As Long, j As Long maxrow = Cells(Rows.Count, 1).End(xlUp).Row maxColumns = Cells(1, Columns.Count).End(xlToLeft).Column For i = 1 To maxrow For j = 1 To maxColumns Cells(i, j).Select Cells(i, j).EntireColumn.AutoFit Cells(i, j).Borders.LineStyle = xlContinuous Next j Next i End sub
最終列 最終列を取得 作成手順その3 完成図
ここがポイント
ここがポイント

この最初から、最後までとういうコードの記載方法は、伊川は本当にわかりませんでした。
しかし、これを理解するとVBAは少しだけ楽しくなります。
本当です。
しかもループも理解できます。
一石二鳥のコードです。
ぜひ、スキルを取得してください。
まとめ
今回のまとめ

全自動で、表に罫線をひけるようになりました。。
今回のサンプルファイルは、ありません。
毎日の業務が、3時間短縮できます

わからない事を延々と考えるのは、無駄です。
- なんで作動かないの?
- もうやだ!VBAなんか嫌い!
- ネットで調べても情報がない!
必ず作動するコードが、ここにあります。