エクセルVBA

トップページエクセルマクロVBA:セルの操作データの端の行や列を取得する@エクセルマクロVBA

エクセルマクロVBA:セルの操作

エクセルのちょっとしたテクニックを紹介します。


エクセルでVBAを使用してコードを書く時、よく使うのが、データの端の行や列を取得するコードです。データの端の行や列を取得することで、データ数が変わっても処理ができるようになります。


・最終行(データの一番下の行番号)を取得する場合
     Cells(Rows.Count, 1).End(xlUp).Row
※A列の最終行を取得します。セルの下端から上方向に向かって一番最初にデータのあるセルの行を返します。数字の部分を変えることでA列以外の列の最終行を取得できます。


・最終列(データの一番右の列番号)を取得する場合
     Cells(1, Columns.Count).End(xlToLeft).Column
※1行目の右端の列を取得します。セルの右端から左方向に向かって一番最初にデータのあるセルの列を返します。数字の部分を変えることで指定した行の右端の列を取得できます。


・最初の行(データの一番上の行番号)を取得する場合
     Cells(1, 1).End(xlDown).Row
※セルA1から下方向に向かって一番最初にデータのあるセルの行を返します。数字の部分を変えることで開始するセルを変更できます。


・最初の列(データの一番左の列番号)を取得する場合
     Cells(1, 1).End(xlToRight).Column
※セルA1から右方向に向かって一番最初にデータのあるセルの列を返します。数字の部分を変えることで開始するセルを変更できます。


セルにいくつかデータを入力し、以下のサンプルコードで試してみてくださいね。

Sub Test1()
   Dim a As Long
   Dim b As Long
   Dim c As Long
   Dim d As Long

   a = Cells(Rows.Count, 1).End(xlUp).Row
   b = Cells(1, Columns.Count).End(xlToLeft).Column
   c = Cells(1, 1).End(xlDown).Row
   d = Cells(1, 1).End(xlToRight).Column

   MsgBox "最終行は、" & a & vbCrLf & "最終列は、" & b _
     & vbCrLf & "セルA1から下へ向かって最初の行は、" & c _
       & vbCrLf & "セルA1から右へ向かって最初の列は、" & d

End Sub

※手作業で行う場合は、ショートカットキー3@エクセルまたは、データの端へ移動する@エクセルという方法もあります。


トラックバックURL
この記事にコメントする
名前:
URL:
  情報を記憶: 評価: 顔   
 
 
 
エクセル
〜ちょっとしたテクニック〜
Add to Google My Yahoo!に追加 ブックマークに追加する
Author

エステリア

エクセルの基本から小技までちょっとしたテクニックを随時提供中

ご案内
●役に立ったと思った方は●

人気blogランキング

1日1回のクリックでこのブログが育ちます。応援よろしくお願いします。
----------------------------------------------
●運営ポリシー●

エクセルのいろんな機能を随時紹介していきます。
トラバ、コメント大歓迎です。内容を確認の上、掲載します。アダルトサイトからのトラバ、コメントはご遠慮下さい。
楽天市場