Live-Forum - Die aktuellen Beiträge
Datum
Titel
29.03.2024 13:14:12
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1252to1256
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 erstellen und bearbeiten

Kommentar erstellen und bearbeiten
Basti
Hallo Forum,
Ich benötigte mal wieder eure kompetente Unterstützung.
Da ich für meine tägliche Arbeit Excel-Tabellen mit vielen Kommentaren versehen muss, habe ich mir, dank zahlreicher guter Vorlagen, ein Makro zusammen gebastelt. Das funktioniert soweit auch ganz gut. Leider habe ich nicht die nötige Erfahrung, damit ich es weiter an meine Bedürfnisse anpassen kann.
Das Makro (siehe Code) erfühlt folgende Anforderungen:
- Nach drücken einer Tastenkombination wird die aktuelle Zelle mit Kommentar versehen
- Es wird eine Inputbox aufgerufen, in die ich dann mein Kommentar eintragen kann
- Der fertige Kommentar enthält meine Namen, das aktuelle Datum und den zuvor eingegeben Kommentartext
- Anschließen wird der Kommentar automatisch an das Tabellenblatt angepasst und formatiert
Problem:
Der Code verändert jeden Kommentar innerhalb des Tabellenblattes. Ich möchte aber, dass nur der gerade erstellte verändert wird und mich interessiert auch, ob der Code kürzer geschrieben werden kann?
Vielen Dank für Eure Hilfe
Gruss Basti
Sub CommentInsert()
' CommentInsert
' Tastenkombination: Strg+Umschalt+X
Dim rngCell As Range
Dim rngStart As Range
Dim ws As Worksheet
Dim com As Comment
Dim sCom As String
Application.ScreenUpdating = False
On Error Resume Next
sCom = InputBox( _
prompt:="Bitte Kommentar eingeben:")
With ActiveCell
ActiveCell.AddComment
ActiveCell.Comment.Visible = True
ActiveCell.Comment.Text _
Text:="Name" & " " & Date & ":" & " " & sCom
End With
If Selection.Cells.Count > 1 Then
Set rngStart = Selection.Cells(1)
Else
Set rngStart = Selection
End If
For Each rngCell In rngStart.SpecialCells(xlCellTypeComments)
rngCell.Comment.Shape.TextFrame.AutoSize = True
With rngCell.Comment
.Shape.Top = .Parent.Top - 15
.Shape.Left = .Parent.Offset(0, 1).Left + 10
End With
Next
For Each ws In ActiveWorkbook.Worksheets
For Each com In ws.Comments
If com Is Nothing Then
MsgBox "Es ist kein Kommentar vorhanden."
Else
With com.Shape
With .Fill
.ForeColor.SchemeColor = 1
.Visible = msoTrue
.Transparency = False
End With
.Line.ForeColor.SchemeColor = 0
With .TextFrame
.Orientation = 1
.VerticalAlignment = xlBottom
.AutoSize = True
With .Characters.Font
.Name = "Arial"
.Size = 10
.ColorIndex = 1
.Bold = False
End With
End With
End With
End If
Next com
Next ws
Set rngStart = Nothing
Application.ScreenUpdating = True
End Sub

AW: Kommentar erstellen und bearbeiten
20.03.2012 11:16:10
Rudi
Hallo,
das sollte reichen:
Sub CommentInsert()
' CommentInsert
' Tastenkombination: Strg+Umschalt+X
Dim sCom As String
Application.ScreenUpdating = False
sCom = InputBox(prompt:="Bitte Kommentar eingeben:")
If sCom = "" Then Exit Sub
With ActiveCell
.AddComment
With .Comment
.Visible = True
.Text "Name" & " " & Date & ":" & " " & sCom
With .Shape
.Top = .Parent.Parent.Top - 15
.Left = .Parent.Parent.Offset(0, 1).Left + 10
.Line.ForeColor.SchemeColor = 0
With .Fill
.ForeColor.SchemeColor = 1
.Visible = msoTrue
.Transparency = False
End With
With .TextFrame
.AutoSize = True
.Orientation = 1
.VerticalAlignment = xlBottom
.AutoSize = True
With .Characters.Font
.Name = "Arial"
.Size = 10
.ColorIndex = 1
.Bold = False
End With
End With
End With
End With
End With
Application.ScreenUpdating = True
End Sub

Gruß
Rudi
Anzeige
AW: Kommentar erstellen und bearbeiten
20.03.2012 11:38:19
Basti
Hallo Rudi,
Danke für deine schnelle Antwort.
Leider funktioniert der Code bei mir nicht richtig. Ich bekomme einen Fehler in der ersten Zeile der Schleife With .shape.
Laufzeitfehler ‘438‘
Objekt unterstützt diese Eigenschaft der Methode nicht
Kann es sein, dass er nicht auf den Kommentar zugreift?
Gruss Basti
AW: Kommentar erstellen und bearbeiten
20.03.2012 11:49:32
Rudi
Hallo,
funktioniert bei mir einwandfrei.
Gruß
Rudi
AW: Kommentar erstellen und bearbeiten
20.03.2012 12:49:59
Basti
Hallo,
Bei mir leider nicht. Ist das vielleicht ein Versions- oder Einstellungsproblem?
Gruß Basti
Unter 2010 getestet ....Läuft !! owT
20.03.2012 12:58:33
Matthias
Wenn du vorher schon.....
20.03.2012 13:05:13
Matthias
Hallo Basti,
wenn dort vorher schon einen kommentar in der "aktiven Zelle" hast, dann lösch den vorher.
änder das mal so ab:
With ActiveCell
.Comment.Delete
.AddComment
With .Comment
Gruß Matthias ... hoffe das es das war.
Anzeige
AW: Wenn du vorher schon.....
20.03.2012 13:49:15
Basti
Hallo Matthias,
Hat auch nicht funktioniert, aber ich füge zum testen die Kommentare immer in eine leere Zelle ein.
Ich werde den Code später mal unter 2010 probieren. Vielleicht liegt es ja an den Einstellungen.
Gruß Sebastian
AW: Kommentar erstellen und bearbeiten
20.03.2012 13:57:25
Rudi
Hallo,
getestet unter 2007.
Gruß
Rudi
AW: Kommentar erstellen und bearbeiten
20.03.2012 21:16:18
Basti
Hallo Rudi und Matthias,
Ich hab das Makro auf meinem privaten Rechner und in Excel 2010 ausprobiert.
Hier funktioniert alles Bestens.
Habt Ihr eine Idee, warum es bei meinem meinem Arbeitsrechner nicht klappt?
Gruß Basti

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige