Excelの行・列を1行指定して削除

Excelで、行や列を指定して削除する方法です。

このようなシートがあった際に、10行目を消すには、

Visual Basic:
  1. Sub test()
  2.     ActiveSheet.Rows(10).Delete
  3. End Sub

となります。

列で指定する場合は、
ActiveSheet.Columns(消したい列の番号).Delete
となります。

注意として、例えば1~10行を消す場合、

Visual Basic:
  1. Sub test()
  2.     Dim i As Integer
  3.  
  4.     For i = 1 To 10
  5.         ActiveSheet.Rows(i).Delete
  6.     Next i
  7.  
  8. End Sub

と書いてしまいがちかもしれませんが、これで実行すると、

のようになります。
これは1行ずつ行を消すことで、消したと同時に1行ずつ上に動くためです。
以下のように書く必要があります。

Visual Basic:
  1. Sub test()
  2.     Dim i As Integer
  3.  
  4.     For i = 1 To 10
  5.         ActiveSheet.Rows(1).Delete
  6.     Next i
  7.  
  8. End Sub

1行目を10回消す、という形になります。

VBAのお勉強 まとめへもどる

Leave a Reply

(required)

(required)

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>

© 2011 simple blog いろいろ勉強中 Suffusion theme by Sayontan Sinha