大体でIT

-ちょっと使えるネタを紹介-

大体でIT

Excel VBAで、コメントを追加、削除、取得する方法について、ご紹介します。コメントの追加は、「AddComment」を使うとできます。削除は、「ClearComments」、取得は、「Comment.Text」を使います。コメントは便利な機能で、VBAで自動化できると、さらに使い勝手がよくなります。

はじめに

この記事では、コメントを追加、削除、取得する方法について、ご紹介します。

コメントの追加は、「AddComment」を使うとできます。

追加したコメントを取得するには、「.Comment.Text」を使うとできます。

コメントを削除したい場合は、「ClearComments」です。

では、コメントの追加、削除、取得について、解説していきます。

この記事で紹介すること

  • コメントを追加、削除、取得する方法

目次から見たい項目へ移動すると便利ですよ。

目次

VBAでコメントを追加する

VBAで、コメントを追加するには、「AddComment」を使います。

やってみます。

AddCommentを使う

セルA3にコメントを追加してみます。

VBAコードは次のようになります。

Sub TEST1()
    
    With Range("A3")
        'コメントを追加
        .AddComment
        'コメントを入力
        .Comment.Text "コメント"
    End With
    
End Sub

実行する前のセルです。

実行する前

実行する前のセル

では、実行してみます。

AddCommentでコメントを追加

AddCommentでコメントを追加してComment.Textでコメントを記載

セルA3に、コメントを追加することができました。

コメントは、デフォルトで非表示なので、カーソルをセルA3に合わせると、コメントが表示されます。

セルの値をコメントに追加してみる

セルの値をコメントに追加する、というのをやってみます。

コメントに入力する値は、自由に変更できるので、セルの値を入力することもできます。

VBAコードはこんな感じになります。

Sub TEST2()
    
    With Range("A3")
        'コメントを追加
        .AddComment
        'コメントを入力
        .Comment.Text .Text
    End With
    
End Sub

実行する前のセルです。

実行する前

VBAを実行する前のセル

このセルの値を、コメントに入力します。

セルの値をコメントに追加

AddCommentでセルの値をコメントに入力した結果

セルの値「abc」をコメントに入力できました。

既にコメントがあるとエラー

コメントを追加するときに、既にコメントが入力されていると、エラーとなりますので、注意です。

ちょっとやってみます。

コメントを追加するVBAコードです。

Sub TEST3()
    
    With Range("A3")
        'コメントを追加
        .AddComment
        'コメントを入力
        .Comment.Text "コメント"
    End With
    
End Sub

既にコメントが追加されているセルを用意しました。

既にコメントが入力されているセル

既にコメントが入力されているセルを用意

では、コメントを追加するVBAコードを実行してみます。

コメントの追加でエラー

エラーとなる

結果は、エラーとなりました。

既にコメントがあるセルに、コメントを追加しようとすると、エラーとなりますので、注意です。

コメントを判定して追加

コメントを追加する際には、コメントが入力されているかを、判定して、コメントを追加するとエラーを回避することができます。

コメントが入力されているかを判定するには、「TypeName」を使います。

コメントを判定するVBAコードは、こんな感じになります。

コメントが入力されているかを判定

Sub TEST4()
    
    With Range("A3")
        'コメントが入力されている場合
        If TypeName(.Comment) = "Comment" Then
            MsgBox "コメントがあります"
        'コメントが入力されていない場合
        Else
            MsgBox "コメントはありません"
        End If
    End With
    
End Sub

コメントを入力したセルを用意しました。

コメントを入力したセル

コメントを入力したセル

では、VBAコードを実行してみます。

コメントが入力されているかを判定

コメントが入力されているかを判定した結果

結果は、「コメントがあります」となりました。

コメントが入力されているので、正しく判定できています。

コメントが入力されていない場合に、コメントを追加するVBAコードは、こんな感じになります。

コメントが入力されていない場合にコメントを追加

Sub TEST5()
    
    With Range("A3")
        'コメントが入力されている場合
        If TypeName(.Comment) = "Comment" Then
            MsgBox "コメントがあります"
        'コメントが入力されていない場合
        Else
            'コメントを追加
            .AddComment
            'コメントを入力
            .Comment.Text "コメント"
        End If
    End With
    
End Sub

次は、コメントが入力されていないセルを用意しました。

コメントが入力されていないセル

コメントが入力されていないセルを用意

では、実行してみます。

コメントが入力されていない場合にコメントを追加

コメントが入力されていない場合に、コメントを追加

コメントを追加できました。

もう一度、VBAを実行してみます。

コメントが入力されている場合はメッセージが表示

コメントが入力されているので、メッセージが表示される

コメントが既に入力されているので、メッセージが表示されました。

こんな感じで、コメントの判定をした後に、コメントを追加すると、エラーを回避することができます。

VBAでコメントを表示と非表示にする

VBAで、コメントを表示したり、非表示にしたりしてみます。

Visibleで表示する

使うVBAコードは、「Visible」です。

コメントを表示するVBAコードは、こんな感じになります。

Sub TEST6()
    
    'コメントを表示
    Range("A3").Comment.Visible = True
    
End Sub

非表示のコメントを用意しました。

非表示のコメント

非表示のコメントを用意

では、VBAコードを実行して、コメントを表示してみます。

コメントを表示した結果

コメントを表示した結果

コメントを、表示することができました。

Visibleで非表示にする

次は、コメントを非表示にしてみます。

コメントを非表示にするVBAコードは、こんな感じになります。

Sub TEST7()
    
    'コメントを非表示
    Range("A3").Comment.Visible = False
    
End Sub

表示されているコメントを用意しました。

表示されているコメント

表示されているコメントを用意

では、VBAコードを実行して、コメントを非表示にしてみます。

コメントを非表示にした結果

コメントを非表示にした結果

コメントを、非表示にすることができました。

VBAでコメントを取得する

VBAでコメントを取得してみます。

コメントを取得

コメントの取得は、「.Comment.Text」を使うとできます。

こんな感じで取得できます。

Sub TEST8()
    
    'コメントを取得
    Debug.Print Range("A3").Comment.Text
    
End Sub

セルにコメントを入力しておきました。

セルにコメントを入力

セルにコメントを入力しておいた

では、コメントを取得してみます。

コメントを取得

コメントを取得した結果

コメントを取得することができました。

VBAでコメントを削除

次は、コメントを削除してみます。

ClearCommentsを使う

コメントの削除は、「ClearComments」を使います。

コメントを削除する、VBAコードはこんな感じになります。

Sub TEST9()
    
    'コメントを削除
    Range("A3").ClearComments
    
End Sub

セルにコメントを入力しておきました。

コメントを入力

セルにコメントを入力

では、VBAコードを実行して、コメントを削除してみます。

コメントを削除した結果

コメントを削除した結果

コメントを削除できました。

コメントの追加と削除をまとめてみる

コメントの追加と削除をまとめてみます。

ちょっと実務的な内容です。

ダブルクリックでコメント追加と削除

ダブルクリックで、コメントの追加と削除できるようにしてみます。

  • コメントがない場合:コメントを追加
  • コメントがある場合:コメントを削除

といった感じです。

VBAコードは、こんな感じになります。

'ダブルクリックで実行
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
    
    'アクティブを解除
    Cancel = True
    
    With Target
        'コメントが入力されている場合
        If TypeName(.Comment) = "Comment" Then
            .ClearComments
        'コメントが入力されていない場合
        Else
            'コメントを追加
            .AddComment
            'コメントを表示
            .Comment.Visible = True
            'コメントに、セルの数式を入力
            .Comment.Text Target.Formula
        End If
    End With
    
End Sub

Sheet1のコードに入力しています。

セルA3に数式「=1+2」を入力しておきました。

セルに数式を入力

セルA3に数式を入力

では、セルA3をダブルクリックしてみます。

ダブルクリックでコメントを追加

セルA3にコメントが追加される

セルA3に、コメントが追加されました。

コメントは、セルA3に入力されている数式が、入力されました。

では、もう一度、セルA3をダブルクリックしてみます。

ダブルクリックでコメントを削除

セルA3をダブルクリックして、コメントを削除する

セルA3のコメントが、削除されました。

という感じで、コメントの追加と削除が簡単にできます。

おわりに

この記事では、コメントを追加、削除、取得する方法について、ご紹介しました。

コメントの追加は、「AddComment」を使うとできます。

追加したコメントを取得するには、「.Comment.Text」を使うとできます。

コメントを削除したい場合は、「ClearComments」です。

コメントは、Excelの便利な機能ですので、VBAで自動化して、さらに使い勝手をよくしていきましょう。

参考になればと思います。最後までご覧くださいまして、ありがとうございました。

関連する記事から探す

カテゴリから探す

カテゴリから見たい項目を探すと便利ですよ。

アーカイブから探す