Microsoft Excel

Herbers Excel/VBA-Archiv

Informationen und Beispiele zum Thema Frame
BildScreenshot zu Frame Frame-Seite mit Beispielarbeitsmappe aufrufen

Dropdown Kommentare übernehmen


Betrifft: Dropdown Kommentare übernehmen von: sksk
Geschrieben am: 06.10.2017 18:05:01

Hallo zusammen,

ich habe hier im Forum ein Code gefunden der soweit ganz gut funktioniert. Mein Ziel war es eine Dropdown Liste mit Werten zu erstellen, jeder Wert hat ein Kommentar. Diese Kommentare sollen mit in eine andere Tabelle übernommen werden.

Das Problem ist jetzt, dass ich nicht weiß wie mehrere Zeilen als Ziel Anspreche. Im Code ist als Ziel nur C8. Wie müsste ich den Code ändern das z.B C8 bis C20 als Ziel bzw. die Kommentare mit übernommen werden.

Habe schon viel rumprobiert, bin wirklich noch ein Anfänger mit kaum Kenntnissen und sitze schon seit über einer Woche an diesem Problem.

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim rg1 As Range, rg2 As Range, s As String, d As Double, ok As Boolean
    
    If Target.Address = "$C$8" Then
       If "" <> Target.Value Then
          'Datenbereich des Namens 'Fehlercode'
          Set rg1 = ThisWorkbook.Names("Fehlercode").RefersToRange
          'suchen des ausgewählten Werte aus der Gültigkeitsliste im Namen 'Fehlercode'
          Set rg2 = rg1.Find(Target.Value, , xlValues, xlWhole, xlByColumns, xlNext)
          s = ""
          If Not (rg2 Is Nothing) Then
             'Text aus dem Kommentarfeld der gefundenen Zelle in s schreiben
             'hat die gefundene Zelle keinen Kommentar, dann ist s immer noch leer
             On Error Resume Next
             s = rg2.Comment.Text
             On Error GoTo 0
          End If
       End If
       If "" = s Then
          'wenn s leer ist, dann Kommentarfeld der Zelle mit der Gültigkeitsliste löschen
          Target.ClearComments
       Else
          'ansonsten neuen Kommentar in der Zelle mit der Gültigkeitsliste erstellen
          On Error Resume Next
          Target.AddComment
          On Error GoTo 0
          'prüfen ob im Kommentar schon Text steht,
          'dann wurde kein neues Kommentarfeld erzeugt und die Breite des
          'Kommentarfeldes muß nicht verdoppelt werden
          ok = "" <> Target.Comment.Text
          'Inhalt von s in das Kommentarfeld der Gültigkeitsliste übernehmen
          Target.Comment.Text Text:=s
          
          If Not ok Then
             'Breite des Kommentarfeldes verdoppeln, da Kommentarfeld neu angelegt wurde
             Target.Comment.Shape.TextFrame.AutoSize = True
          End If
          Target.Comment.Visible = False
       End If
    End If
    Set rg1 = Nothing
    Set rg2 = Nothing
          
End Sub


https://www.herber.de/forum/archiv/1128to1132/1131727_Zellendropdown_mit_Kommentar.html

Beiträge aus den Excel-Beispielen zum Thema "Dropdown Kommentare übernehmen"