Grant hat eine Zelle in einem Arbeitsblatt, die, wenn jemand anfängt, die Zelle einzugeben, möchte, dass alles, was er eingibt, in einem Kommentar endet, der an die Zelle angehängt ist. Die Zelle selbst sollte leer bleiben, aber der Kommentar sollte alles enthalten, was eingegeben wurde.

Die einzige Möglichkeit, diese Aufgabe zu erfüllen, ist die Verwendung eines Makros.

Mithilfe der Ereignishandlerfunktionen von Excel können Sie ein Makro erstellen, das bei jeder Änderung einer Zelle ausgelöst wird. Wenn die geänderte Zelle zufällig die Zelle ist, der der Kommentar zugeordnet werden soll, können Sie den Zelleninhalt in den Kommentar übertragen und aus der Zelle selbst entfernen. Das folgende kurze Makro erledigt das:

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

Da dies ein Ereignishandler ist, muss er dem Codemodul für das Arbeitsblatt hinzugefügt werden, das betroffen sein soll. In diesem Fall wird der Verschiebungs-zu-Kommentar-Code nur ausgelöst, wenn eine Änderung in Zelle B4 vorgenommen wird. Diese Adresse kann bei Bedarf im Code geändert werden.

Es sollte auch beachtet werden, dass dieses Makro erst ausgelöst wird, wenn der Benutzer etwas in Zelle B4 eingegeben hat. Es wird nicht ausgelöst, wenn der Benutzer mit der Eingabe beginnt. Die eigentliche Dateneingabe erfolgt also immer noch in Zelle B4, nicht im Kommentar selbst. Wenn jemand etwas in Zelle B4 eingibt, geht ein vorhandener Kommentar verloren, da das Makro ihn löscht, bevor der Zelleninhalt in den Kommentar verschoben wird.

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

Dieser Tipp (13511) gilt für Microsoft Excel 2007, 2010, 2013 und 2016.