コメントにテキストを自動的に配置する(Microsoft Excel)
グラントはワークシートにセルを持っており、誰かがセルに入力し始めると、入力した内容がセルに添付されたコメントになってしまうことを望んでいます。セル自体は空白のままにする必要がありますが、コメントには入力されたものがすべて含まれている必要があります。
このタスクを実行する唯一の方法は、マクロを使用することです。
Excelのイベントハンドラー機能を使用して、セルが変更されるたびにトリガーされるマクロを作成できます。変更されたセルがたまたまコメントを関連付けるセルである場合は、セルの内容をコメントに転送して、セル自体から削除できます。次の短いマクロはそれを行います:
Private Sub Worksheet_Change(ByVal Target As Range) Dim rCell As Range Dim sTemp As String Set rCell = Range("B4") If Not Intersect(Target, rCell) Is Nothing Then sTemp = rCell.Value rCell.ClearComments If Len(sTemp) > 0 Then Application.EnableEvents = False On Error Resume Next rCell.AddComment rCell.Comment.Text Text:=sTemp On Error GoTo 0 rCell.ClearContents Application.EnableEvents = True End If End If End Sub
これはイベントハンドラーであるため、影響を受けるワークシートのコードモジュールに追加する必要があることに注意してください。この場合、コメントへの移動コードは、セルB4で変更が行われたときにのみトリガーされます。このアドレスは、必要に応じてコードで変更できます。
このマクロは、ユーザーがセルB4に何かを入力し終えたときにのみトリガーされることにも注意してください。ユーザーが入力を開始してもトリガーされません。したがって、実際のデータ入力は、コメント自体ではなく、セルB4で引き続き発生します。さらに、誰かがセルB4に何かを入力すると、セルの内容をコメントに移動する前にマクロがコメントを削除するため、既存のコメントはすべて失われます。
_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。
このヒント(13511)は、Microsoft Excel 2007、2010、2013、および2016に適用されます。