pickup

目次

最後までの値を取得する

こんにちは。伊川(@naonaoke)です。

ExcelのVBAを操作するにあたり、最終行、最終列の取得は必須のスキルとなります。

それは、実務では、最終行、最終列は、その日によって違うからです。

そのスキルがないと、毎朝、最終行、最終列の設定をしなくてなりません。

今回紹介するスキルを身に着けると、次回の設定は不要になります。

 

問題提起

(株)IKAWAの柄久 瀬瑠子(エク セルコ)は、

上司から下記の依頼を受けました。

ExcelのVBAで、最終行の取得はどのように設定するのか?

どのようなコードを記載するのか?

解決策

回答
sesuo2.jpg
・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 完成図

 

 

ここがポイント

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

 

まとめ

今回のまとめ
sesuko3.jpg
全自動で、表に罫線をひけるようになりました。。

今回のサンプルファイルは、ありません。

毎日の業務が、3時間短縮できます

わからない事を延々と考えるのは、無駄です。

  • なんで作動かないの?
  • もうやだ!VBAなんか嫌い!
  • ネットで調べても情報がない!

必ず作動するコードが、ここにあります。

スポンサーリンク

Twitterでフォローしよう

おすすめの記事