Vinodは、Excelの高度なフィルタリングツールを頻繁に使用して、フィルタリングされたデータをある場所から別の場所にコピーします。場合によっては、セルの内容だけでなく、フィルタリング基準を満たすセルのセルコメントもコピーしたいと考えています。彼はコメントに基づいてフィルタリングする方法を探していませんが、Excelの高度なフィルタリング機能を使用するときに、セルの内容とともにコメントをコピーするだけです。

私たちが知る限り、高度なフィルタリングを使用してコメントをコピーする方法はありません。セルの内容のみがコピーされます。ただし、2段階のプロセスを使用してコメントを簡単にコピーすることは可能です。

まず、高度なフィルタリングを使用してデータをフィルタリングしますが、必ずその場でフィルタリングを行ってください。情報を別の場所にコピーするように指定しないでください。最終的に、条件に一致するセルのみが表示された、フィルター処理されたリストが作成されます。次に、フィルタリングによって返されたセルを選択します。次に、表示されているセルのみを選択する必要があることをExcelが認識していることを確認する必要があります。

。 F5キーを押して、[移動]ダイアログボックスを表示します。

。 [特別]をクリックして、[特別に移動]ダイアログボックスを表示します。 (図1を参照)

。 Visible CellsOnlyオプションが選択されていることを確認してください。

。 [OK]をクリックします。

表示されているセルが選択されている(フィルタリングによって非表示になっているセルは選択されていない)と、2番目のステップの準備が整います。通常の編集手法を使用してセルを別の場所にコピーします。その結果、コメントはセルの内容と一緒にコピーされます。

このタスクをかなり実行し、2つのステップを実行するのにバグがある場合でも、タスクを自動化できます。次のマクロは、高度なフィルターをインプレースで適用し、表示されているセルをクリップボードにコピーしてから、それら(およびそのコメント)を新しいブックに貼り付けます。

Sub AdvancedFilter_AndCopyComments()

With Range("Database")

' filter the data range         .AdvancedFilter Action:=xlFilterInPlace, _           CriteriaRange:=Range("Criteria"), Unique:=False         ' copy visible cells only         .SpecialCells(xlCellTypeVisible).Copy     End With

' goto to another worksheet     Sheets("Sheet1").Select     ' and paste the copied data     With Range("A1")

.PasteSpecial xlPasteColumnWidths         .PasteSpecial xlPasteAll     End With

Application.CutCopyMode = False End Sub

このマクロは、2つの名前付き範囲が設定されていることを前提としています。1つはフィルタリングするデータ用(データベース)、もう1つはフィルタリング基準用(基準)です。マクロを実行すると、フィルタリングされ、コメント化された情報がSheet1に表示されます。

注:

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

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

このヒント(3169)は、Microsoft Excel 97、2000、2002、および2003に適用されます。Excel(Excel 2007以降)のリボンインターフェイス用のこのヒントのバージョンは、次の場所にあります。