EXCEL・VBAの話。VBAの命令にClearContentsメソッドというものがあります。
この命令、一言でいってしまえば右クリックのコマンドリストの中にある「数式と値のクリア」にあたります。
例えばセルa1をクリアする、なんて時は↓①のように書くんですけど、
実はこのClearContentsメソッド、わたしも今日初めて気づいたんですけど(^^;、結合セルに対して実行しようとするとマクロがエラーになるんですよね。
例えばセルa1からd1が結合されている場合、↓②のように書くとエラーになるので、それを回避するために↓③のように書きます。
…と、マニュアル通りに書くとそれが会費方法なんですけど、でも実務では↓④のように書く方が普通ですよね、と言われ自分の頭のカタさに愕然としたというか(笑)orz。
↓④はようするに結合セルの中にブランクを代入する = セルの中を空にする、という意味でして。
ま~こんなのテクニックでもなんでもなく、ちょっとよく考えればすぐ思いつくことだよなぁ、と。結果的に、セルの中に入っている値が空になればいいのだから。
というわけで、今日はもうすぐ41歳になる自分自身の頭のカタさに非常に残念な思いをした1日でございました(>_<)。
①
Range("a1").ClearContents
②
Range("a1:d1").ClearContents
③
Range("a1:d1").MergeArea.ClearContents
④
Range("a1:d1").Value = ""
この命令、一言でいってしまえば右クリックのコマンドリストの中にある「数式と値のクリア」にあたります。
例えばセルa1をクリアする、なんて時は↓①のように書くんですけど、
実はこのClearContentsメソッド、わたしも今日初めて気づいたんですけど(^^;、結合セルに対して実行しようとするとマクロがエラーになるんですよね。
例えばセルa1からd1が結合されている場合、↓②のように書くとエラーになるので、それを回避するために↓③のように書きます。
…と、マニュアル通りに書くとそれが会費方法なんですけど、でも実務では↓④のように書く方が普通ですよね、と言われ自分の頭のカタさに愕然としたというか(笑)orz。
↓④はようするに結合セルの中にブランクを代入する = セルの中を空にする、という意味でして。
ま~こんなのテクニックでもなんでもなく、ちょっとよく考えればすぐ思いつくことだよなぁ、と。結果的に、セルの中に入っている値が空になればいいのだから。
というわけで、今日はもうすぐ41歳になる自分自身の頭のカタさに非常に残念な思いをした1日でございました(>_<)。
①
Range("a1").ClearContents
②
Range("a1:d1").ClearContents
③
Range("a1:d1").MergeArea.ClearContents
④
Range("a1:d1").Value = ""