2011年9月16日金曜日

VBAでコメントを記入する方法

Sheets("シート名").Cells(row,col).AddComment Text: = "コメントの記入"
↑上記の方法でExcelのセルにコメントを記入出来ます。
しかし設定しようとしているセルのすでにコメントが設定されている場合はエラーとなります。

そのため、先にコメントが記入されているか確認する必要があります。

Sheets("シート名").Cells(row,col).NoteText = ""
↑を使用して判定する。

Sheets("シート名").Cells(row,col).ClearComments
コメントが入っていれば↑を使用してコメントをクリア
※コメントの上書き、追加は出来ないみたいです。

サンプルはコメントが記入されている場合は以前の内容を引継げるように、
コメントの有無を確認しあれば、記入されているコメントをastrに格納し、
追加する出来るようにしています。

追加の必要が無ければ、コメントをクリアしてaddするのみでOKです。

--------------------------------------------------------------------------
Dim astr as String

If Sheets("シート名").Cells(row,col).NoteText = "" Then
    '上書きをしてくれないのでこれが無いとエラーになる
   Sheets("シート名").Cells(row,col).ClearComments
   Sheets("シート名").Cells(row,col).AddComment Text:= "コメント記入"
Else
  astr = Sheets("シート名").Cells(row,col).Comment.Text
   '上書きをしてくれないのでこれが無いとエラーになる
  Sheets("シート名").Cells(row,col).ClearComments
  Sheets("シート名").Cells(row,col).AddComment Text:= astr & vbCrLf & "コメント記入"
End If

--------------------------------------------------------------------------
※vbCrLf は改行文字(改行コード)になります。

--------------------------------------------------------------------------

EXCEL VBA xls Excel2003

0 件のコメント:

コメントを投稿