Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Kommentarfelfd

Forumthread: Kommentarfelfd

Kommentarfelfd
Ernst
Hallo Vba Experten !
gibt es eine Möglichkeit das Kommentarfeld per doppelklick aufzurufen ?
Wäre für lösungsvorschläge Dankbar.
lg.Ernst
Anzeige
Was verstehst du unter aufrufen ? (owT)
22.03.2010 09:50:26
Renee

AW: Was verstehst du unter aufrufen ? (owT)
22.03.2010 09:55:22
Ernst
Hallo !
ich verstehe unter Aufrufen,was ich normalerweise mit rechter Maustaste ,Kontexmenü ,Kommentar einfügen erreiche !
lg.Ernst
Und warum eine neue Funktion,
22.03.2010 10:09:30
Renee
für eine schon bestehende, Ernst?
Ich sehe keinen grossen Sinn in einer solchen Aktion.
Was soll den passieren ?
MUSS dann ein Kommentar eingefügt werden ?
Soll dann ein Kommentar-Text abgefragt werden oder direkt ein fixer eingefügt werden ?
Soll der/die KommentatorIn ebenfalls im Kommentar stehen ?
Was soll passieren, wenn bereits ein Kommentar vorhanden ist ?
Gilt das für jede Zelle der Auswahl ?
Fragen über Fragen! Aber die Hauptfrage bleibt "Warum etwas Programmieren, dass dann anders funktionier, wie das vorgegebene Standard-Verhalten von Excel ?"
GreetZ Renée
Anzeige
AW: Und warum eine neue Funktion,
22.03.2010 10:20:09
Ernst
Hallo !
Danke für die rasche Antwort.
Also es handelt sich um eine Spalte in der Fehler durch eine "x" Eingabe in den Jeweilligen Zellen markiert werden die x Eingabe wird durch einen Doppelklick erzeugt ,gleichzeitig möchte ich das kommentarfeld aufrufen um den Fehler zu dokumentieren.
ist sowas möglich bzw.gibt es hierfür einen anderen Lösungsansatz ?
lg.Ernst
Anzeige
AW: Und warum eine neue Funktion,
22.03.2010 10:32:02
Reinhard
Hallo Ernst,
den Fokus kriegt er leider nicht. Müßte man ggfs. ein Textfeld zur Eingabe drüberlegen o.ä.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
On Error GoTo Hell
Cancel = True
Target.Value = "x"
Target.AddComment
Target.Comment.Visible = True
Target.Comment.Shape.Select
Exit Sub
Hell:
Target.Comment.Text ""
Resume Next
End Sub

Gruß
Reinhard
Anzeige
AW: Und warum eine neue Funktion,
22.03.2010 10:36:09
Renee
Hi Ernst,
Das könnte dann z.B.so aussehen:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
' Beispiel für Spalte C (=3)
If Target.Column  3 Or Target.Count > 1 Then Exit Sub
If Target = "x" Then
If vbOK = MsgBox("Eintrag und Kommentar löschen?", _
vbExclamation + vbOKCancel) Then
Target = ""
If Not Target.Comment Is Nothing Then Target.Comment.Delete
Cancel = True
End If
Else
Cancel = True
Target = "x"
If Not Target.Comment Is Nothing Then Target.Comment.Delete
Target.AddComment (InputBox("Bitte Fehlerbeschreibung eingeben:", _
"Begründung", "Fehlerbeschreibung?"))
Cancel = True
End If
End Sub

GreetZ Renée
Anzeige
Kleine Korrektur/Verbesserung:
22.03.2010 10:38:48
Renee
Hi,
Bei Abbruch oder Schliessen der Inptubox einen Fehler verhindern. darum besser:
        Target.AddComment (InputBox("Bitte Fehlerbeschreibung eingeben:", _
"Begründung", "Fehlerbeschreibung?") & "")

GreetZ Renée
AW: Kleine Korrektur/Verbesserung:
22.03.2010 10:56:26
Ernst
Hallo !
Danke für die Lösung
genau das was ich mir vorgestellt habe, wenn ich allerdings auf abrechen gehe wenn die msg Box Fehlerbeschreibung kommt erhalte ich einen Laufzeitfehler 1004 ansonst perfect !
Anbei der Code um den es geht
lg.Ernst
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim i As Long
Dim zelle As Long
If Not Intersect(Target, Range("B8:B105,F8:F105,J8:J105")) Is Nothing Then
Application.EnableEvents = False
With Target
NumberFormat = "dd.mm.yyyy"
.Value = Date
End With
Application.EnableEvents = True
For i = 6 To 247
Next
Cancel = True
ElseIf Not Intersect(Target, Range("C8:C105,G8:G105,K8:K105")) Is Nothing Then
UserForm1.Show
Cancel = True
Else
'   x in die Zelle
Dim RaBereich As Range
Set RaBereich = Range("l8:l87,m8:m87")
If Intersect(Target, RaBereich) Is Nothing Then Exit Sub
' Abbruch, wenn Aktion nicht im Zielbereich
Application.EnableEvents = False
Cancel = True
If Target.Value = "X" Then
Target.Value = ""
Else
Target.Value = "X"
End If
Application.EnableEvents = True
Set RaBereich = Nothing
If Target.Column  13 Or Target.Count > 1 Then Exit Sub
If Target = "x" Then
If vbOK = MsgBox("Eintrag und Kommentar löschen?", _
vbExclamation + vbOKCancel) Then
Target = ""
If Not Target.Comment Is Nothing Then Target.Comment.Delete
Cancel = True
End If
Else
Cancel = True
Target = "x"
If Not Target.Comment Is Nothing Then Target.Comment.Delete
Target.AddComment (InputBox("Bitte Fehlerbeschreibung eingeben:", _
"Begründung", "Fehlerbeschreibung?"))
Cancel = True
End If
End If
End Sub

Anzeige
Siehe meine Korrektur-Zeile!! (owT)
22.03.2010 11:02:48
Renee

AW: Siehe meine Korrektur-Zeile!! (owT)
22.03.2010 11:14:02
Ernst
Hallo !
Also wenn ich das richtig verstanden habe sollte bei bereits bestehendem Kommentar MsgBox("Eintrag und Kommentar löschen? erscheinen ,erscheint allerdings nicht , weiters wenn info MsgBox erscheint und ich auf abbrechen gehe kommt Laufzeitfehler 1004 "
Wäre für Lösung noch dankbar.
lg.Ernst
Anzeige
Mach überall "X" (Gross, statt klein x) (owT)
22.03.2010 11:23:43
Renee

AW: Mach überall "X" (Gross, statt klein x) (owT)
22.03.2010 11:36:35
Ernst
Hallo !
Danke das klappt jetzt mit der ersten MsgBox allerdings steckt irgendwo noch ein Fehler drinn und zwar wenn ich in der Spalte M auf die sich der Code bezieht in eine leere Zelle doppelklicke wird das X gesetzt anschliesend erscheint sofort eintrag löschen anstatt fehlerbeschreibung !
was gehört da noch geändert ?
lg.Ernst
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim i As Long
Dim zelle As Long
If Not Intersect(Target, Range("B8:B105,F8:F105,J8:J105")) Is Nothing Then
Application.EnableEvents = False
With Target
NumberFormat = "dd.mm.yyyy"
.Value = Date
End With
Application.EnableEvents = True
For i = 6 To 247
Next
Cancel = True
ElseIf Not Intersect(Target, Range("C8:C105,G8:G105,K8:K105")) Is Nothing Then
UserForm1.Show
Cancel = True
Else
'   x in die Zelle
Dim RaBereich As Range
Set RaBereich = Range("l8:l87,m8:m87")
If Intersect(Target, RaBereich) Is Nothing Then Exit Sub
' Abbruch, wenn Aktion nicht im Zielbereich
Application.EnableEvents = False
Cancel = True
If Target.Value = "X" Then
Target.Value = ""
Else
Target.Value = "X"
End If
Application.EnableEvents = True
Set RaBereich = Nothing
If Target.Column  13 Or Target.Count > 1 Then Exit Sub
If Target = "X" Then
If vbOK = MsgBox("Eintrag und Kommentar löschen?", _
vbExclamation + vbOKCancel) Then
Target = ""
If Not Target.Comment Is Nothing Then Target.Comment.Delete
Cancel = True
End If
Else
Cancel = True
Target = ""
If Not Target.Comment Is Nothing Then Target.Comment.Delete
Target.AddComment (InputBox("Bitte Fehlerbeschreibung eingeben:", _
"Begründung", "Fehlerbeschreibung?"))
Cancel = True
End If
End If
End Sub

Anzeige
Da stehen mir Haare zu Berge...
22.03.2010 14:32:54
Renee
Ernst,
Dein Code hat x überflüssige, sinnfreie Zeilen, ist schwer lesbar und macht Sachen doppelt, andere falsch und für Ähnliches verschieden !!
Dieser weniger:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Target.Count > 1 then Exit Sub
Application.EnableEvents = False
If Not Intersect(Target, Range("B8:B105,F8:F105,J8:J105")) Is Nothing Then
With Target
.NumberFormat = "dd.mm.yyyy"
.Value = Date
End With
Cancel = True
End If
If Not Intersect(Target, Range("C8:C105,G8:G105,K8:K105")) Is Nothing Then
UserForm1.Show
Cancel = True
End If
If Not Intersect(Target, Range("L8:L87,M8:M87")) Is Nothing Then
If Target = "X" Then
If vbOK = MsgBox("Eintrag und Kommentar löschen?", _
vbExclamation + vbOKCancel) Then
Target = ""
If Not Target.Comment Is Nothing Then Target.Comment.Delete
Cancel = True
End If
Else
Cancel = True
Target = "X"
If Not Target.Comment Is Nothing Then Target.Comment.Delete
Target.AddComment (InputBox("Bitte Fehlerbeschreibung eingeben:", _
"Begründung", "Fehlerbeschreibung?") & "")
Cancel = True
End If
End If
Application.EnableEvents = True
End Sub

GreetZ Renée
Anzeige
AW:Perfekt..Danke !
22.03.2010 15:05:33
Ernst
Hallo Renee!
Ich hoffe es sind dir keine ausgegangen.
ggggg
Recht herzlichen Dank für deine Bemühungen .
Jetzt funktioniert alles so wie gewollt.
lg.Ernst
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige