【脱・マクロアレルギー】「今どこ?」が1行でわかる。RowとColumnだけで、Excel作業は劇的に楽になる

【業務効率化】VBA
スポンサーリンク

こんにちは!ぐーです。
いつもブログをご覧いただき、ありがとうございます!

今はこうして偉そうにITを語っていますが、実は元々、超アナログ人間でした。

マクロ? 何それおいしいの?」状態だった私が、最初の頃に感動したのがこのRow(行)とColumn(列)でした。

たったこれだけを知っているだけで、Excelの操作性が一気にアップします。それではいきましょう!

【業務効率化】VBAの記事を見る

1. Row(行)とColumn(列)の正体

中学生の数学で「X軸、Y軸」ってありましたよね?

あれを思い出すと頭が痛くなる…という方、安心してください。Excelはもっと単純です。

  • Row(ロウ) = 行番号(横のライン)。左側の数字(1, 2, 3…)のこと。
  • Column(カラム) = 列番号(縦のライン)。上のアルファベット(A, B, C…)を数字に直したもの

例えば、C5セルなら?

  • Row(行)は 5
  • Column(列)は 3 (A=1, B=2, C=3 だから)

これだけです。この「当たり前の数字」をパソコン自身に数えさせることができると、世界が変わります。

2. なぜこの2つが必要なの?

事務作業では、毎日データ行数が変わりますよね。昨日は50件、今日は200件。

もしコードに「10行目まで処理する」と書いてしまったら、今日50件のデータが来たときに40件分放置されてしまいます。これは恐怖ですよね。

そこで、Rowの出番です。「データが入っている最後の行(Row)を教えて!」と命令できれば、件数が何件あってもミスなく処理できます。

変動する数字を、自動で取得する。これが脱・初心者の第一歩です。

3. 【コピペOK】実際に動かしてみよう

では、実際にVBAでどう書くのか見てみましょう。

以下のコードをコピーして、標準モジュールに貼り付けて実行してみてください。

パターンA:選択しているセルの場所を知る

Sub 今どこ()
    ' 選択しているセルの行番号と列番号を表示する
    Dim gyou As Long ' 行番号を入れる箱
    Dim retsu As Long ' 列番号を入れる箱
   
    ' ActiveCell(今選んでいるセル)の情報を取得
    gyou = ActiveCell.Row
    retsu = ActiveCell.Column
   
    ' メッセージで表示(これが出ると楽しいですよ!)
    MsgBox "現在は " & gyou & " 行目の、" & retsu & " 列目です!"
End Sub


これを実行すると、例えばC5セルを選択していれば「現在は 5 行目の、3 列目です!」のようにとパソコンからメッセージが表示されます。

パターンB:データの最終行を自動で見つける(※重要)

さて、ここが本題です。

Sub 最終行を探せ()
    ' A列のデータが何行目まであるか調べる
    Dim lastRow As Long
   
    ' Cells(Rows.Count, 1) は「A列の一番下の底」のこと
    ' End(xlUp) は「そこからググっと上に上がってデータにぶつかった所」
    lastRow = Cells(Rows.Count, 1).End(xlUp).Row
   
    MsgBox "データの最終行は " & lastRow & " 行目です!"
End Sub


このコードの良いところは、データが100行あろうが1万行あろうが、一瞬で正確な数字を返してくれることです。

もう、「今日のデータは何件だから…」と数える必要はありません。

RowとColumn。たったこれだけのテクニックですが、使えるようになったら「Excelの座標を縦横無尽に操れる人」になります。ぜひ身につけてください!

【業務効率化】VBAの記事を見る


VBAを独学で学び、業務自動化に5年以上携わってきた私が、「本当に実務で役立った!」と感じた2冊を厳選して紹介します。 もう本選びで失敗したくない方は、よければ参考にしてみてください。

この記事を書いた人
ぐー

手取り15万円の会社員でも、年間100万円以上の節約・資産管理・スキルアップで新NISAで年間360万円投資し、iDeCoもフル活用しています。日商簿記3級持っています。

このブログでは、私が実践してきた節約術やリアルな資産運用、稼ぐ力を高めるITスキルについて発信しています。

生活を豊かにしたくて、高配当株投資で年間配当金60万円をめざしています。現在は年間配当金25万円以上達成!

ゲーム・漫画・アニメなどが好きです。
一緒に資産形成をがんばりましょう!
よろしくお願いします!

ぐーをフォローする
【業務効率化】VBAITスキル
スポンサーリンク
ぐーをフォローする

コメント

タイトルとURLをコピーしました