Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1600to1604
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Kommentar bei bestimmten Text löschen

Kommentar bei bestimmten Text löschen
14.01.2018 09:59:53
Kevin
Hallo und guten Morgen liebe Gemeinde!
Ich habe hier folgenden Code der in einem Bereich (D5:F500)bei dem Wort "Nein" eine Inputbox aufruft. Der Inhalt der Box wird dann als Kommentar gespeichert.
Private Sub Worksheet_Change(ByVal Target As Range)
Dim zell As Range
Dim strKommentar As String
If Not Intersect(Target, Range("D5:F500")) Is Nothing Then
If Target.Value = "Nein" Then
strKommentar = InputBox("Bitte Begründung eingeben:", "Hinweis")
If strKommentar  "" Then
If Not Target.Comment Is Nothing Then Target.Comment.Delete
Target.AddComment strKommentar
End If
End If
End If
End Sub

Gestern Abend beim Basteln hatte ich noch 2 weitere Elemente im Code. Ich hatte mich aber verzettelt und nun krieg ich es logisch nicht mehr auf die Reihe. Ich hoffe jemand von euch kann mir helfen.
1. Zusätzlich soll in dem Bereich bei dem Wort "Ja" das Kommentar gelöscht werden.
2. Ist in dem Bereich die Zelle leer soll ebenfalls das Kommentar gelöscht werden.
Ich freu mich auf eure Antworten. MfG Bonki

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Kommentar bei bestimmten Text löschen
14.01.2018 10:21:55
Sepp
Hallo Kevin,
so?
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
Dim strKommentar As String

If Not Intersect(Target, Range("D5:F500")) Is Nothing Then
  With Target(1, 1)
    If LCase(.Value) = "nein" Then
      strKommentar = InputBox("Bitte Begründung eingeben:", "Hinweis")
      If strKommentar <> "" Then
        If Not .Comment Is Nothing Then
          .Comment.Shape.TextFrame.Characters.Text = strKommentar
        Else
          .AddComment strKommentar
        End If
      End If
    ElseIf LCase(.Value) = "ja" Or .Value = "" Then
      .ClearComments
    End If
  End With
End If

End Sub

Gruß Sepp

Anzeige
AW: Kommentar bei bestimmten Text löschen
14.01.2018 10:22:53
ransi
Hallo,
Versuch mal so:
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim zell As Range
    Dim strKommentar As String
    For Each zell In Intersect(Target, Range("D5:F500")).Cells
        Select Case zell.Value
            Case "ja", ""
                If Not zell.Comment Is Nothing Then zell.Comment.Delete
            Case "Nein"
                strKommentar = InputBox("Bitte Begründung eingeben:", "Hinweis")
                If strKommentar <> "" Then
                    If Not zell.Comment Is Nothing Then zell.Comment.Delete
                    zell.AddComment strKommentar
                End If
        End Select
    Next zell
End Sub


ransi
Anzeige
AW: Kommentar bei bestimmten Text löschen
14.01.2018 10:23:32
Beverly
Hi,
meinst du so etwas:
Private Sub Worksheet_Change(ByVal Target As Range)
Dim strKommentar As String
If Not Intersect(Target, Range("D5:F500")) Is Nothing Then
If Target.Value = "Nein" Then
strKommentar = InputBox("Bitte Begründung eingeben:", "Hinweis")
If strKommentar  "" Then
If Not Target.Comment Is Nothing Then Target.Comment.Delete
Target.AddComment strKommentar
End If
ElseIf Target = "" Or Target = "Ja" Then
If Not Target.Comment Is Nothing Then Target.Comment.Delete
End If
End If
End Sub


Anzeige
AW: Kommentar bei bestimmten Text löschen
14.01.2018 10:47:38
Kevin
Vielen Dank an alle 3! Funzt super.
Mein Haupt vor so viel Fachkenntnis! Vielen Dank und euch noch einen schönen Tag.
AW: Kleine Erweiterung von Beverlys Code
14.01.2018 10:46:45
Beverlys
Hallo Kevin,
ich habe den Code von Beverly etwas erweitert, damit bei "nein" und "ja", also bei Eingabe mit Kleinbuchstbaben, der Code von Breverly auch das gewünschte Ergebnis zeigt.
Ich hoffe Beverly verzeit mir den Eingriff/Erweiterung.
Gruß, Dieter(Drummer)
'Code von: Herber, Beverly am 14.01.2018 10:23:32
Private Sub Worksheet_Change(ByVal Target As Range)
Dim strKommentar As String
If Not Intersect(Target, Range("A2:B5")) Is Nothing Then
If Target.Value = "Nein" Or Target = "nein" Then
strKommentar = InputBox("Bitte Begründung eingeben:", "Hinweis")
If strKommentar  "" Then
If Not Target.Comment Is Nothing Then Target.Comment.Delete
Target.AddComment strKommentar
End If
ElseIf Target = "" Or Target = "Ja" Or Target = "ja" Then
If Not Target.Comment Is Nothing Then Target.Comment.Delete
End If
End If
End Sub

Anzeige
AW: Kleine Erweiterung von Beverlys Code
14.01.2018 11:10:07
Beverlys
da reicht Ucase(Target)="NEIN"

Ich gebe keinen Dank für eine Rückmeldung, da ich durch solche Beiträge nicht meine Beitragszahl erhöhen muss.
Also ich schreibe keine Beiträge mit dem Betreff "Gerne u. Danke für die Rückmeldung....."
Rückmeldung ist ja in der Heutigen Zeit nicht üblich und die wenigen die eine Rückmeldung geben,
mögen mir das verzeihen, das kein Danke für eine Rückmeldung kommt.
Beiträge von Werner, Luc, robert und folgende lese ich nicht.
AW: Danke Hajo, habe jetzt den Code so ...
14.01.2018 14:00:21
Dieter(Drummer)
... mal geändert und es funktioniert prima. Danke für Hinweis.
Gruß, Dieter(Drummer)
Jetziger, geänderter Code:
'Code von: Herber, Beverly am 14.01.2018 10:23:32
'Anpassung von Mx und Info von Hajo
Private Sub Worksheet_Change(ByVal Target As Range)
Dim strKommentar As String
If Not Intersect(Target, Range("A2:B5")) Is Nothing Then
If UCase(Target) = "NEIN" Then
strKommentar = InputBox("Bitte Begründung eingeben:", "Hinweis")
If strKommentar  "" Then
If Not Target.Comment Is Nothing Then Target.Comment.Delete
Target.AddComment strKommentar
End If
ElseIf UCase(Target) = "JA" Then
If Not Target.Comment Is Nothing Then Target.Comment.Delete
End If
End If
End Sub

Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige