Hectorには、約600行70列の大きなワークシートがあります。これらの43,000セル全体に広がるのは、コメント付きの約200セルです。 Hectorは、コメントを抽出して、データテーブルの本体の右側にあるセルに配置したいと考えています。たとえば、コメントがセルC43に添付されている場合、彼はそのコメントのテキストをセルCC43に入れ、元のコメントを削除することを望んでいます。

Paste Specialを使用してタスクを実行できると思うかもしれませんが、それは機能しません。元のセルをコピーしてから[編集] | [編集]を使用する場合スペシャルペースト|コメントを入力すると、コメントのみがターゲットセルに貼り付けられます。それらはまだコメントであり、セル内のテキストではなく、ヘクトールの目標に反しています。

このタイプの抽出を処理する唯一の方法は、マクロを使用することです。以下は、選択したセルで実行すると、コメントを抽出し、コメントテキストを移動してから、元のコメントを削除します。

Sub CommentsToCells()

Dim rCell As Excel.Range     Dim rData As Excel.Range     Dim sComment As String

' Horizontal displacement     Const iColOffset As Integer = 78

' extract comments from selected range     If TypeName(Selection) = "Range" Then         Set rData = Intersect(Selection, ActiveSheet.UsedRange)

For Each rCell In rData.Cells             On Error Resume Next             sComment = rCell.Comment.Text             If Len(sComment) > 0 Then                 rCell.Offset(, iColOffset).Value = sComment                 rCell.Comment.Delete             End If             sComment = ""

On Error GoTo 0         Next     End If End Sub

マクロはiColOffset定数を使用して、コメントのテキストを右に移動するセルの数を指定します。この場合、オフセット(78)は3つの「アルファベット」(26 * 3)に等しいため、元々C列にあったコメントのテキストはCC列になります。

注:

このページ(または_ExcelTips_サイトの他のページ)で説明されているマクロの使用方法を知りたい場合は、役立つ情報を含む特別なページを用意しました。

link:/ excelribbon-ExcelTipsMacros [ここをクリックして、新しいブラウザタブでその特別なページを開きます]

_ExcelTips_は、費用効果の高いMicrosoftExcelトレーニングのソースです。

このヒント(11837)は、Microsoft Excel 2007、2010、2013、および2016に適用されます。

Excelの古いメニューインターフェイスのこのヒントのバージョンは、 `link:/ excel-Copying_Comments_to_Cells [Copying Comments toCells]`にあります。