2017年06月06日

休憩がてらの補足

こんばんは、くま母です。
どうもここ数日の寝不足のせいで、疲れが溜まってしまっているようです。

そのため、ちょっと今日は休憩がてら、昨日の記事にあった
最終行=cells(rows.count,2).end(xlup).row

の解説をしていきます。

昨日も述べたとおり、
セルの位置をcells(行,列)の順で表しています。
※Range("B1")=cells(1,2)

で、このセルというのは、
ブックの中のシートの中にある特定のセルなので、正確には、
workbooks("ブック名").worksheets("シート名").cells(行,列)

となるのが正しいです。
まぁ、アクティブになっているブックおよびシートであれば、
activeworkbook.activesheet.cells(行,列)

でもOKですし、マクロを組んでいるブックの中の特定のシートというのであれば、
thisworkbook.worksheets("シート名").cells(行,列)

でもOKですけどね。

まぁそんな感じで、英語と同じく"主語"をはっきりさせましょうね。ということです。
指定がなければ、勝手にそのときアクティブになっているシートだと思ってくれます。
が、プログラムの確実性を増そうと思うならば、"主語"は意識した方が良いです。
※日本語同様、"主語"は省けますが、省略した場合には、思ってたのと違う"主語"と捉えられても仕方ないですよということですね。


で、
最終行=cells(rows.count,2).end(xlup).row

というのは、
   rows.count:行の数(row=行)
   end(xlup):下から上へあがったときの最終(※xldown:下へ、xlToRight:右へ、xlToLeft:左へ)
なので、「B列のMax行から上へ上がった時の最終行」という意味になります。
これを、"最終行"という勝手に作った箱に入れておく式が、
最終行=cells(rows.count,2).end(xlup).row

わけですね~


にほんブログ村さんのランキングへ参加はじめました。
よろしければ、クリックで応援お願いします☆

にほんブログ村 IT技術ブログ VBAへ
にほんブログ村


ラベル:VBA
posted by くま母 at 21:46| Comment(0) | ExcelVBA | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
コチラをクリックしてください
×

この広告は180日以上新しい記事の投稿がないブログに表示されております。