« セルの書式設定で日本語の曜日を表示させる | トップページ | セル内で改行、マクロ自動記録では… »

2010年2月16日 (火)

削除とクリア

手動で「削除」や「クリア」をするときは
メニューの[編集]を選んで、
それぞれ[削除]や[クリア]を選びます。

「クリア」は以下4つの方法があります。

すべて
書式
数値と値
コメント

セルの値を消すとき
よくキーボードのDeleteキーを使います。

「数値と値」のところの横に「Del」と書いてあるので
キーボードのDeleteキーを押してクリアした場合と
[編集] - [クリア] - [数値と値]でクリアした場合は
同じ操作になります。
Pic20100216a

「削除」と「クリア」は違います。

「削除」はセルそのものを無くしてしまいます。
ですからなくなったセルの分だけ上または左にシフトします。
例えば、セルA1選択して「削除」した場合は
このようなダイアログが出ます。
Pic20100216b

ここで[上方向にシフト]を選ぶと
[削除]前のセルA2がA1に、A3がA2にのように
上へずれます。
[左方向にシフト]を選ぶと左にずれます。

行や列を選択して[削除]した場合は
自動的にそれぞれ上方向、左方向にずれます。

VBAで[削除]するには、Delete メソッドを使います。
使用例を挙げます。

Delete使用例:

Sub macro100216a()
'Delete使用例
    '上方向へシフト
    Cells(1, 1).Delete Shift:=xlShiftUp
   
    '左方向へシフト
    Cells(1, 1).Delete Shift:=xlShiftToLeft
   
    'Shift指定なしの場合は上方向にシフトする
    Cells(1, 1).Delete
   
    'Rangeで範囲指定する
    Range("A1:C3").Delete Shift:=xlShiftUp
   
    '行を削除、シフトは指定しなくてもいい
    '1行目を削除する
    Rows(1).Delete
   
    '列を削除、シフトは指定しなくてもいい
    'A列を削除する
    Columns("A").Delete
   
End Sub

「クリア」は「削除」と違って
セルそのものは無くならずに
セルの内容や塗りつぶし、文字の色、枠などを消します。

Excelを使い始めのころは
枠だけ消したいのに消す方法がわからなくて
苦労したこともありました。

VBAで[クリア]するには、Clear メソッドを使います。
使用例を挙げます。

Clear使用例:

Sub macro100226b()
'Clear使用例
    '[クリア] - [すべて]
    Range("B2").Clear
   
    '[クリア] - [書式]
    Range("B3").ClearFormats
   
    '[クリア] - [内容]
    Range("B4").ClearContents
   
    '[クリア] - [コメント]
    Range("B5").ClearComments
End Sub

下の画像はこのコードを実行した結果です。

実行前はRange("A2:B5")はすべて同じです。
内容は「クリア使用例」、
書式は、枠・太字・文字の色・塗りつぶしを適用してあり、
コメントが挿入してあります。

B2:B5にそれぞれのClearを実行しました。
Pic20100216c

インターネットのホームページをコピーして
Excelに「Ctrl + v」で直接ペーストしたとき、
リンクや色、スタイルなんかも一緒にペーストされます。

このリンクや色、スタイルなんかは
[クリア] - [書式]、
VBAならClearFormatsで
消すことができます。

関連:
ホームページをコピーしたときは
[編集] - [形式を選択して貼り付け]で
「テキスト」を選べば、
リンクや色、スタイルなんかはペーストされず
文字だけペーストできます。
Pic20100216d

|

« セルの書式設定で日本語の曜日を表示させる | トップページ | セル内で改行、マクロ自動記録では… »

コメント

この記事へのコメントは終了しました。

トラックバック


この記事へのトラックバック一覧です: 削除とクリア:

« セルの書式設定で日本語の曜日を表示させる | トップページ | セル内で改行、マクロ自動記録では… »