3日がかりのその仕事、3分で終わらせる方法教えます!
パソコンスキルの心技体

Rangeオブジェクトが2つの引数をとる場合の書式

2012年7月16日
  • このエントリーをはてなブックマークに追加
  • follow us in feedly

エクセルマクロ・VBA達人養成塾小川です。

発展編終わった人向けの小ネタ。

A列のすべてのデータを消すマクロ。以下のどれでも結果は同じになります。

Sub DeleteLineA()
    Columns("A:A").ClearContents
    Range("A1:A" & Range("A65536").End(xlUp).Row).ClearContents
    Range(Range("A1"), Range("A65536").End(xlUp)).ClearContents
    Range("A1", "A" & Range("A65536").End(xlUp).Row).ClearContents
    Range("A1", Range("A65536").End(xlUp)).ClearContents
    Range(Range("A1"), "A" & Range("A65536").End(xlUp).Row).ClearContents
End Sub

ポイントは…。

Range(arg1, arg2) 型では、 arg1, arg2 にセル(オブジェクト)を指定することもできるし、セル番地(文字列)を指定することもできる、というところ。
「片方は文字列、片方はオブジェクト」なんて無節操きわまりない引数指定も可能。

もっとも、個人的には、こんな節操のないオーバーロードを実装するメソッドがExcel VBAにあるのはどうかと思います。

以上。
手元に自信ない人は自分でテストケースを作れなくて何を言っているのか分かりにくいと思われるネタ。
「じっと見ていても訳が分からない」、「自分で試しに書いても構文エラーになって実行できない」という人は、VBA以前に手元を改善。今日から毎日、特打を20分 × 5日やってください。これは義務です。

キーワード

コメント

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

最新の記事

人気記事

最新記事

カテゴリ

最新コメント

タグクラウド