Text automatisch in einen Kommentar einfügen (Microsoft Excel)
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.