Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Userform Kommentareingabe

Forumthread: Userform Kommentareingabe

Userform Kommentareingabe
05.08.2019 12:27:27
Andreas
Für ein eine Userform benötige ich eine automatische Kommentareingabe:
Meine Abfrage in der Userform:
'Neuer Fehler
If (NeuerFehler > 0) And NeuerFehler.Text "" Then
For i = 9 To 46
If ws.Cells(i, 1) = "Sonstiges" Then
ws.Cells(i, fehlerspalte) = NeuerFehler.Value
With ws.Cells(i, fehlerspalte)
Call AddComments
Exit For
End If
Next i
End

Sub

Sub Kommentar einfügen im Modul:

Sub AddComments()
Dim wks As Worksheet: Set wks = ActiveSheet
With ActiveCell
'Kommentare einblenden
Application.DisplayCommentIndicator = xlCommentAndIndicator
'Wenn kein Kommentar vorhanden, neuen einfügen
If .Comment Is Nothing Then
.Comment.Visible = True
.AddComment.Text Userform1.Neuerfehlerbeschr.Text
.Comment.Shape.Select True
End If
End Sub
Im Moment scheitert es leider an der Zeile ".AddComment.Text Userform1.Neuerfehlerbeschr.Text" und die Fehlermeldung "Benutzerdefinierte Anwendung oder Objekt benutzerdefinierte Fehler" wird ausgegeben.
Gehört das
Sub überhaupt ins Modul?
Was mache ich falsch?


		
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Lass das .Text weg! (owT)
05.08.2019 13:11:01
EtoPHG

AW: Userform Kommentareingabe
05.08.2019 14:25:48
fcs
Hallo Andreas,
für mich ist unklar, in welcher Zelle der Kommentar eingefügt werden soll. ActveCell ist ziemlich unbestimmt.
Ich würde es so lösen: Zelle und Kommentartext werden als Parameter übergeben.
Das Makro zum einfügen des Kommentars kan in einem allgemeinen Modul stehen - muss aber nicht, wenn du es nicht mehrfach nutzen möchtest in der Datei.
LG
Franz
1. Prozedur im Userform

Private Sub CommandButton1_Click()
Set ws = Worksheets("Tabelle2") 'Testwert
fehlerspalte = 5  'testwert
'Neuer Fehler
If (NeuerFehler > 0) And NeuerFehler.Text  "" Then
For i = 9 To 46
If ws.Cells(i, 1) = "Sonstiges" Then
ws.Cells(i, fehlerspalte) = NeuerFehler.Value
With ws.Cells(i, fehlerspalte)
Call AddComments(Zelle:=ws.Cells(i, fehlerspalte), sComment:=Neuerfehlerbeschr)
Exit For
End With
End If
Next i
End If
End Sub
2. Makro zum Einfügen des Kommentars in eine Zelle.
Sub AddComments(Zelle As Range, sComment As String)
With Zelle
'Kommentare einblenden
Application.DisplayCommentIndicator = xlCommentAndIndicator
'Wenn kein Kommentar vorhanden, neuen einfügen
If .Comment Is Nothing Then
.AddComment.Text sComment 'UserForm1.Neuerfehlerbeschr.Text
.Comment.Shape.Select True
Else
.Comment.Visible = True
End If
End With
End Sub

Anzeige
AW: Userform Kommentareingabe
06.08.2019 12:16:33
Andreas
Hallo Franz,
vielen Dank für die Hilfe.
Deine Lösung funktioniert schon ganz gut, nur leider werden bestehende Kommentare nicht ergänzt.
Hast du hierzu auch eine Lösung?
AW: Userform Kommentareingabe
06.08.2019 13:44:44
Werner
Hallo Andreas,
so?
'Wenn kein Kommentar vorhanden, neuen einfügen
If .Comment Is Nothing Then
.AddComment.Text sComment 'UserForm1.Neuerfehlerbeschr.Text
.Comment.Shape.Select True
Else
.Comment.Text Text:=.Comment.Text & vbLf & sComment
.Comment.Shape.Select True
End If
Gruß Werner
Anzeige
AW: Userform Kommentareingabe
06.08.2019 18:03:12
Andreas
Perfekt, jetzt läuft der Befehl wie geplant.
Kannst du mir noch sagen, wie ich mehrere TextBoxen in das Kommentar packen kann?
Call AddComments(Zelle:=ws.Cells(i, fehlerspalte), sComment:=Neuerfehlerbeschr)
Also beispielsweise Personalnummer&"-"&Neuerfehler&"-"&Neuerfehlerbeschreibung
Ich hab bereits versucht o.s. an sComment anzuhängen, das hat aber leider nicht funktioniert.
Anzeige
Anzeige
Anzeige
Live-Forum - Die aktuellen Beiträge
Datum
Titel
14.05.2026 13:31:09
14.05.2026 09:50:42
13.05.2026 19:14:18