【ExcelVBA入門】Rowsプロパティを使って行操作する方法を徹底解説!

こんにちは、フリーランスエンジニア兼ライターのワキザカ サンシロウです。皆さんは、VBAで行を操作するRowsプロパティを知っていますか?

データを操作するときに行の操作はよく使うので、覚えておくと便利です!そこで今回は、

  • シートのデータを操作する3つの方法とは
  • Rowsプロパティの使い方
  • Rowsプロパティの引数に変数を指定する方法
  • RowプロパティとRowsプロパティの違いとは

といった基礎的なことから、といった応用的な方法まで、徹底的に解説します!

シートのセルデータを操作する3つの方法

まず、シートのセルデータを操作する方法について解説します。シートのセルデータを操作する方法は、大きく分けて次の3つです。

  • セル操作
  • 行操作
  • 列操作

セル・行・列に対して、値書き込み・コピー・挿入・削除などの操作をしていくわけですね。VBAでは、それぞれ指定する方法が違います。

  • セル操作:Range・Cells
  • 行操作 :Rows
  • 列操作 :Columns

この記事では、行操作について解説していきますが、セル操作について知りたい方は以下を見てみてくださいね!


【VBA入門】Cellsでセルを指定(変数などRangeとの使い分けも解説)
更新日 : 2019年10月1日

Rowsプロパティの使い方

つぎに、Rowsプロパティの詳しい使い方について解説します。

行を指定する方法

まず、行を指定する方法について解説します。行を指定する場合は、次のような書き方をします。

行の指定方法:

Rows(行番号)         '1行指定
Rows("開始行:終了行") '複数行指定

1行の場合は引数に行番号のみ、複数行の場合は「開始行:終了行」のように指定します。

Rowsの使い方サンプル:

Rows(3)        '3行目を指定
Rows("1:10")   '1行目 ~ 10行目を指定

行に値を書き込む方法

次に、行に値を書き込む方法について解説します。Valueプロパティを使って次のように書くことで、値を書き込むことができます。

サンプルコード:

Sub Test()
  Rows(1).Value = 1
End Sub

実行結果:

このように、指定した行数に値を書き込むことができます。

変数で引数を指定する方法

次に、変数に引数を指定する方法について解説します。1行のみ・複数行を変数で指定して、値を書き込むサンプルを用意しました。

サンプルコード 1行のみ:

Sub Test1()
  Dim row As Long
  row = 1
  
  Rows(row).Value = 1

End Sub

実行結果:

サンプルコード 複数行:

Sub Test2()
  Dim startRow As Long
  Dim endRow As Long
  startRow = 1
  endRow = 5
  
  Rows(startRow & ":" & endRow).Value = 1

End Sub

実行結果:

このように、引数で行を指定することもできます。

行を選択する方法

次に、行を選択する方法について解説します。Selectメソッドを使えば、簡単に行を選択することができます。

サンプルコード:

Sub Test3()
  Rows(1).Select
End Sub

実行結果:

このように、簡単に行を選択することができます。

行をコピー・ペーストする方法

次に、行をコピー・ペーストする方法について解説します。コピー・ペーストする場合は、Copyメソッドを使って次のように書きます。

使い方:

Row(コピー元の行) Row(コピー先の行)

サンプルを用意しました。

コピー前:

サンプルコード:

Sub Test4()
  Rows(1).Copy Rows(3)
End Sub

コピー後:

このように、簡単にコピーすることができます。行のコピーについては他にもいくつかおすすめの方法があるので、興味がある方は以下を見てみてくださいね!

【ExcelVBA入門】行をコピーするためのCopyメソッドの使い方とは
更新日 : 2019年4月2日

行を挿入する方法

次に、行を挿入する方法について解説します。行を挿入する場合は、Insertメソッドを使って次のように書きます。

使い方:

Rows(挿入する行番号).insert

サンプルを用意しました。

実行前:

サンプルコード:

Sub Test5()
  Rows(3).Insert
End Sub

実行後:

このように、簡単に行を挿入することができます。行の挿入については他にもいくつかおすすめの方法があるので、興味がある方は以下を見てみてくださいね!

【ExcelVBA入門】行を挿入するためのInsertメソッドの使い方とは
更新日 : 2019年4月5日

行を削除する方法

次に、行を削除する方法について解説します。行を削除する場合は、Deleteメソッドを使って次のように書きます。

使い方:

Rows(挿入する行番号).Delete

サンプルを用意しました。

実行前:

サンプルコード:

Sub Test6()
  Rows(3).Delete
End Sub

実行後:

このように、簡単に行を削除することができます。行の削除については他にもいくつかおすすめの方法があるので、興味がある方は以下を見てみてくださいね!

【VBA入門】行・列の削除とクリアをする方法
更新日 : 2019年4月25日

RowとRowsの違いとは

ここまでRowsプロパティを使った行操作方法について解説してきました。Rowsプロパティに似ているプロパティに、Rowプロパティがあります。使い方について混乱する方が多いので、簡単に違いについて解説します。

  • Row :行を取得するプロパティ
  • Rows:行を指定して操作するプロパティ

たとえば、A5セルの行を取得する場合は、次のように書きます。

サンプルコード:

Sub Test7()
  Debug.Print "A5の行番号:" & Range("A5").row
End Sub

実行結果:

A5の行番号: 5 

行番号5がRowプロパティを使って取得できていますよね。応用すると、以下のようにデータ一覧の最終行を取得することもできます。

データ一覧:

サンプルコード:

Sub Test8()
  Dim maxRow As Long
  maxRow = Cells(Rows.Count, 1).End(xlUp).row

  Debug.Print "データ一覧の最終行:" & maxRow
End Sub

実行結果:

データ一覧の最終行:6

このように、最終行を取得することもできます。最終行の取得方法は他にもあるので、気になる方は以下を見てみてくださいね!

VBAで最終行を取得するには?|End(xlUp)、SpecialCells(xlLastCell)
更新日 : 2019年4月24日

まとめ

今回は、VBAでRowsプロパティを使って行を操作する方法について解説しました。Excelでは行を操作してデータを加工、集計するケースがよくあります。使い方も簡単なので、ぜひ使ってみてくださいね!

LINEで送る
Pocket

無料でSEからWebエンジニアへ転職しませんか?



侍エンジニア塾では、完全未経験の方から現在SEだけどプログラミングはやっていないという経験者まで、幅広い方々の人生を好転させるプログラミング指導を行ってきました。SEの方とお話していくなかで、

  • システムエンジニアという職業だけどコードが書けない
  • 事務作業が多くスキルがないため将来が不安
  • スクールに通うと完全未経験者と同じスタートになるからレベルが合わない
という、すでに知識があるSEならではのお悩みがあることに気づきました。そんな方におすすめなのが、弊社の「転職コース 」です。

弊社では、マンツーマンでレッスンを行いますので、現在お持ちの知識レベルからカリキュラムを作成いたします。さらにこちらの転職コースは無料で受講を始められて転職成功でそのまま卒業できるというとてもお得なコースとなっています。

既に知識のあるSEといっても転職は年齢が若いほど受かりやすいため、まずは無料体験レッスンで今の現状や理想の働き方について一緒に考えていきましょう。

まずは無料体験レッスンを予約する

書いた人

Sanshiro Wakizaka

Sanshiro Wakizaka

新卒入社したメーカー系のIT企業で、システムエンジニアとして約5年勤務。
Webアプリ、業務アプリ開発において、要件定義、設計、インフラ、製造、テスト、運用保守など、様々な経験あり。
また、侍ブログ編集部として、これまでに200記事以上の記事を執筆。
現在はフリーランスエンジニア兼テックライターとして活動中。

おすすめコンテンツ

あなたにぴったりなプログラミング学習プランを無料で診断!

プログラミング学習の効率を劇的に上げる学習メソッドを解説