Sub TEST1()
'値のみクリア
Range("A1:B2").ClearContents
End Sub
実行してみます。
値のみをクリアした結果
結果は、値のみを削除できました。罫線はそのまま残っています。
ちなみ、値の削除は、『Range(〇〇) = ""』でもできます。
『Range(〇〇) = ""』の方が簡単です
値の削除を、『Range(〇〇) = ""』を使ってやってみます。
『ClearContents』を使うより、『Range(〇〇) = ""』を使う方が簡単です。
では、先ほどと同じ表で試してみます。
使う表
値のみを削除する、VBAコードはこちらになります。
Sub TEST2()
'値のみクリア
Range("A1:B2") = ""
End Sub
実行してみます。
Range = ""で値のみをクリア
値のみを削除できました。罫線は、そのままです。
値のみ削除の場合は、『Range(〇〇) = ""』が簡単です。
VBAでセルのすべてをクリア
つづいて、VBAでセルのすべてをクリアする方法です。
すべてとは、値はもちろん、書式や、コメントをすべて削除する、ということです。
RangeとClearを使う
セルのすべてをクリアする方法は、RangeとClearを使います。
では、『"A1:C3"』の範囲で、Clearを使って、セルのすべてをクリアするVBAコードです。
Sub TEST3()
'すべてクリア
Range("A1:B2").Clear
End Sub
すべてをクリアしてみる
では、先ほど使った表で、セルのすべてをクリアしてみます。
使った表
値と罫線が入力されています。
実行してみます。
Clearですべてクリア
『"A1:C3"』のセル範囲で、値と、罫線がクリアされました。
削除とは違いますね。値を初期の状態にするイメージです。
他にも使いそうなセルのクリア
他にも使いそうなセルのクリアについて、ご紹介します。
書式をクリア(ClearFormats)
書式だけをクリアする方法です。ClearFormatsを使います。
書式をクリアするVBAコードです。
Sub TEST4()
'書式のみクリア
Range("A1:B2").ClearFormats
End Sub
先ほどと同じ表を使って実行してみます。
使った表
実行してみます。
ClearFormatsで書式のみをクリア
書式のみをクリアできました。値は残ったままです。
コメントをクリア(ClearComments)
続いて、コメントのみをクリアするVBAコードです。
Sub TEST5()
'コメントのみクリア
Range("B3:D3").ClearComments
End Sub
コメントをセルに入力してみました。
コメントを入力
この表から、セル『"A1:C3"』の範囲で、コメントのみをクリアしてみます。
コメントのみをクリア
セルから、コメントのみをクリアできました。
値や書式は、残ったままです。
ハイパーリンクをクリア(ClearHyperlinks)
ハイパーリンクをクリアする方法です。ClearHyperlinksを使います。
ハイパーリンクをクリアするVBAコードです。
Sub TEST6()
'ハイパーリンクのみクリア
Range("B3").ClearHyperlinks
End Sub
ハイパーリンクをセルに設定しました。
ハイパーリンクを設定
手のマークになっていますね。ハイパーリンクが設定されていることがわかります。
では、VBAコードを実行してみます。
ハイパーリンクをクリア
ハイパーリンクがクリアされました。
プラスのマークなので、ハイパーリンクはクリアされました。
でも、書式は残ったままです。
書式はそのまま
文字が青色になって、下線は入ったままです。
全部消したい場合は、ハイパーリンクの削除が使えます。
ハイパーリンクの削除
ハイパーリンクを削除する方法です。書式もすべて削除されます。
使うのは、Hyperlinks.Deleteです。
VBAコードはこんな感じです。
Sub TEST7()
'ハイパーリンクと書式をクリア
Range("B3").Hyperlinks.Delete
End Sub
では、やってみます。
ハイパーリンクを作成
VBAコードを実行します。
ハイパーリンクを削除
書式ごと、ハイパーリンクが削除されました。
罫線もクリアされています。ハイパーリンク、ちょっと面倒ですね。
ダブルクリックでコメントを表示・非表示
少し実務的なVBAコードを作成してみます。
ClearCommentsを使えば、コメントのみを削除できましたよね。
これを利用して、セルの数式をコメントで表示したり、非表示にしたりするVBAコードを作成してみます。
説明するために、セルに入力されている値を表示させたい場合に、使えます。
セルの値って、数式バーに表示されますけども、拡大できないですからね。小さいんですよね。
コメントは大きさを変えられるので、見やすくなります。
VBAコード
ダブルクリックで、セルに入力されている値を表示したり、クリアしたりするVBAコードです。
『ワークシートのコード』に記載します。
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
'ダブルクリック後のアクティブ状態を解除
Cancel = True
Dim A
'コメントがない場合
If Target.Comment Is Nothing Then
'コメントを追加
Set A = Target.AddComment
'表示
A.Visible = True
'セルの値をコメントに入力
A.Text Text:=Target.Formula
'コメントのサイズを22にする
A.Shape.TextFrame.Characters.Font.Size = 22
'コメントがある場合
Else
'コメントをクリア
Target.ClearComments
End If
End Sub