Hector hat ein großes Arbeitsblatt mit ungefähr 600 Zeilen und 70 Spalten. Über diese 43.000 Zellen verteilt sind etwa 200 Zellen mit Kommentaren. Hector möchte die Kommentare extrahieren und in Zellen rechts vom Hauptteil der Datentabelle platzieren. Wenn beispielsweise ein Kommentar an Zelle C43 angehängt ist, möchte er, dass der Text aus diesem Kommentar in Zelle CC43 landet und der ursprüngliche Kommentar gelöscht wird.

Sie könnten denken, dass Sie Paste Special verwenden könnten, um die Aufgabe auszuführen, aber das funktioniert nicht. Wenn Sie die Originalzellen kopieren und dann Bearbeiten | verwenden Paste Special | Kommentare, dann werden nur die Kommentare in die Zielzellen eingefügt. Es sind immer noch Kommentare und kein Text in Zellen, was gegen Hectors Ziel verstößt.

Die einzige Möglichkeit, diese Art der Extraktion zu handhaben, ist die Verwendung eines Makros. Im Folgenden werden beim Ausführen einer Auswahl von Zellen die Kommentare extrahiert, der Kommentartext verschoben und anschließend der ursprüngliche Kommentar gelöscht.

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

Das Makro verwendet die iColOffset-Konstante, um anzugeben, wie viele Zellen nach rechts der Text eines Kommentars verschoben werden soll. In diesem Fall entspricht der Versatz (78) drei „Alphabeten“ (26 * 3), sodass der Text eines Kommentars ursprünglich in Spalte C in Spalte CC endet.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (2981) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: